观测过程中不需要使用xcode。只需观察Leak工具即可
1:选中Xcode,点击左上角的Xcode。找到tool 然后找到instrument。如下图
2:打开instrument 找到Leaks工具。
3:选择设备(类似XCode选择模拟器一样)
4:选择需要检测的APP
5:点击红色的按钮,表示启动App
6:此时项目会直接跑起来。然后你随便点击即可观测。当出现红色的❎时,就表示有内存泄露了。如下图:
7:选中红色的叉。找到田字格leaks选择call tree。如下图
8:在底部找到call tree。选择选中的那两个
9:然后就会显示类和泄露的方法,双击查看详情就可以开始修改啦
Mark -------
使用过程中会出现的一个问题。没有显示类名和方法名称。原因是XCode设置出现的问题。更改XCode设置即可。方法如下
1:找到Build Setting
2:找到Debug information Format。然后把debug和release模式都修改成下图的模式即可
3:然后重跑项目和Leaks即可观测。
Mark ----------
重新跑过之后。发现使用的AF报了很多的内存问题、
原因是每次请求的时候都创建了AFHTTPSessionManager ,没来得及释放,造成内存泄露。
解决办法就是把这个类创建为单例类。创建方法
/* 单例 解决AF请求内存泄露的问题 */ + (AFHTTPSessionManager *)shareAFManager { static AFHTTPSessionManager *manager; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ manager = [AFHTTPSessionManager manager]; }); return manager; }
如下图
--------------至此结束------------