先准备一段代码:
NSMutableArray *arr1 = [NSMutableArray array];
NSMutableArray *arr2 = [NSMutableArray array];
[arr1 addObject:arr2];
[arr2 addObject:arr1];
然后打开Xcode自带的Instruments
屏幕快照 2018-04-01 下午5.43.29.png
选择Leaks
屏幕快照 2018-04-01 下午5.45.19.png
运行项目,点击Leak Checks
屏幕快照 2018-04-01 下午5.48.38.png
❌表示有内存泄露
选中CallTree后勾选 Invert Call Tree和Hide System Libraries
屏幕快照 2018-04-01 下午5.52.35.png
屏幕快照 2018-04-01 下午5.52.45.png
从这里双击可以定位到内存泄露的代码
屏幕快照 2018-04-01 下午5.54.58.png
Instruments还可以检测项目中耗时的代码,这里选择Time Profiler
屏幕快照 2018-04-01 下午5.56.40.png
运行
屏幕快照 2018-04-01 下午6.03.14.png