美文网首页
iOS内存泄露可能出现的问题和解决工具

iOS内存泄露可能出现的问题和解决工具

作者: l富文本l | 来源:发表于2018-01-25 16:19 被阅读0次

内存防止

1、Block,使用_weak声明一个代替self的新变量代替原先的self
__weak typeof(self) weakSelf=self;
self.block = ^(NSString *name){
    NSLog(@"arr:%@", weakSelf.arr);
};

自定义的block用copy修饰
weak修饰的会在内存不够的时候被释放

2、delegate,用weak关键字修饰
3、nstimer等需要手动释放的没有释放
4、关键字一定要注意
@property (nonatomic, copy) NSString *string0;//新建了一个对象,string最好用copy修饰,看自己的需求啦,注意一下别产生内存泄漏就好
@property (nonatomic, strong) NSString *string1;//指向同一个对象

解决

1、analyze工具
2、instruments ---- leaks工具
3、MLeaksFinder框架

pod进去就可以了,运行的时候连接上Xcode,retain的时候会在代码中打出断电。不连接Xcode,retain的话会显示出文字在弹窗中,表明循环引用在哪里

接手一个项目都是内存泄漏,我先用MLeaksFinder把能改的比如说关键字写的不对的,block的问题等等改了,到了后面实在看不出来了就用instruments,结果双击定位到友盟的和MJRefresh里面去了,看不懂

屏幕快照 2018-02-02 下午1.36.34.png

相关文章

网友评论

      本文标题:iOS内存泄露可能出现的问题和解决工具

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