如何检测iOS项目中self引起的内存泄露
2016-03-21 本文已影响433人
__yuyang__
项目地址:https://github.com/hades0918/CheckLeak
在iOS的项目开发中我们常用到block,很实用,但是block给我们带来的问题也很多,如在block里面写self会导致内存泄露。小弟写了个小工具来检测这个问题,希望给大家带来方便,望star😄。
首先,你需要安装pyobjc库(没有你想象中那么麻烦),然后配置工程路径(见readMe.md),那么就可以用了。如图:
图1然后找到相关文件的指定行,发现代码如下:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{
self.view.backgroundColor= [UIColorwhiteColor];
});
把self改成blockSelf(不错,你解决了一个重大bug,快让领导请你吃饭吧😄)
什么?你说着么用着还是麻烦,要开着终端,那么我们来解决一下。我们使用这个工具(mac自带)炮筒机器人:http://bbs.feng.com/read-htm-tid-4500879.html
图2创建一个脚本工程,把代码复制进去,生成app,OK!
运行以后是这个样子的:
图3当然你也可以把这个设置成开机启动,就什么都不用管了。