一,内存泄漏
1,报错:User-facing text should use localized string macro
解决方法一,将相对应的string改为NSLocalizedString(@"string", nil),相应的做好国际化工作.
解决方法二,如下图
2,报错如图:
解决方法:如图,
CGImageRef是定义在QuartzCore框架中的一个结构体指针,用C语言编写。所以需要手动释放!
3,在-(void)viewWillDisappear:(BOOL)animated 方法中,将NSTimer,block等可能造成强引用释放掉.如下图
二,内存优化
1,最经典的图片加载方法,imageNamed方法和imageWithContentsOfFile方法
imageNamed:会对图片进行缓存,同一图片不会重复加载,不能人为释放
imageWithContentsOfFile:不会对图片进行缓存,同一图片会重复加载,可人为释放
像可重用cell,大量重复使用图片的时候,必须选择imageNamed方法
只使用次数极其有限,层级较深,使用imageWithContentsOfFile方法
2,可重用cell的销毁,使用下面的两个方法,去掉展示完毕的cell
-(void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath;
-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;