iOS内存泄漏,优化(持续更新!)

一,内存泄漏

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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容