使用Xcode-Instruments中的Leaks檢測內(nèi)存泄漏步驟:
1、如圖所示,打開項(xiàng)目在頂部工具欄依次選中Xcode -- Open developer Tool -- Instruments

image.png
2、打開Instruments后查找Leaks

image.png
3、打開Leaks后,頂部按鈕功能依次為開始檢測/結(jié)束檢測,暫停檢測,選擇檢測設(shè)備,選擇檢測的項(xiàng)目

image.png
4、項(xiàng)目中添加會(huì)產(chǎn)生內(nèi)存泄漏的代碼(在模擬器iphone12上運(yùn)行起來)
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSMutableArray *arr1 = [NSMutableArray array];
NSMutableArray *arr2 = [NSMutableArray array];
[arr1 addObject:arr2];
[arr2 addObject:arr1];
}
@end
5、在Leaks中選好設(shè)備iphone12和項(xiàng)目,在左側(cè)的Allocations和Leaks中選擇Leaks,點(diǎn)擊左上角開始檢測按鈕,此時(shí)Leaks會(huì)運(yùn)行起項(xiàng)目。
如圖所示選擇Call Tree,Call Tree里顯示的是泄露內(nèi)存分配時(shí)的?;厮?/p>

image.png
6、進(jìn)一步設(shè)置call Tree
Separate by Thread:?;厮莅凑站€程分離
Invert Call Tree:棧回溯順序顛倒
Hide System Libraries:隱藏系統(tǒng)?;厮?br>
Flatten Recursion:遞歸調(diào)用合并成一個(gè)

image.png
6、雙擊這里跳轉(zhuǎn)到問題代碼

image.png

image.png