Instruments检测内存泄露

先准备一段代码:

NSMutableArray *arr1 = [NSMutableArray array];
NSMutableArray *arr2 = [NSMutableArray array];
[arr1 addObject:arr2];
[arr2 addObject:arr1];

然后打开Xcode自带的Instruments


Instruments检测内存泄露_第1张图片
屏幕快照 2018-04-01 下午5.43.29.png

选择Leaks


Instruments检测内存泄露_第2张图片
屏幕快照 2018-04-01 下午5.45.19.png

运行项目,点击Leak Checks


Instruments检测内存泄露_第3张图片
屏幕快照 2018-04-01 下午5.48.38.png

❌表示有内存泄露

选中CallTree后勾选 Invert Call Tree和Hide System Libraries


Instruments检测内存泄露_第4张图片
屏幕快照 2018-04-01 下午5.52.35.png
Instruments检测内存泄露_第5张图片
屏幕快照 2018-04-01 下午5.52.45.png

从这里双击可以定位到内存泄露的代码


Instruments检测内存泄露_第6张图片
屏幕快照 2018-04-01 下午5.54.58.png

Instruments还可以检测项目中耗时的代码,这里选择Time Profiler


Instruments检测内存泄露_第7张图片
屏幕快照 2018-04-01 下午5.56.40.png

运行

Instruments检测内存泄露_第8张图片
屏幕快照 2018-04-01 下午6.03.14.png

你可能感兴趣的:(Instruments检测内存泄露)