美文网首页
iOS内存泄漏,优化(持续更新!)

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

作者: youngZhou | 来源:发表于2017-04-13 15:04 被阅读391次

    一,内存泄漏

    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;

    相关文章

      网友评论

          本文标题:iOS内存泄漏,优化(持续更新!)

          本文链接:https://www.haomeiwen.com/subject/syavattx.html