iOS开发之内存泄漏检测工具-Leaks
2017-01-05 本文已影响3582人
神经骚栋

</br>
引言
我们在实际开发过程中,经常会不小心造成循环引用问题,从而造成内存泄漏问题,那么我们该如何检测我们工程那个位置存在内存泄漏问题呢?这就需要用到Xcode自带的内存泄漏检测工具-Leaks.

</br>
内存泄漏检测演示
下面我们就直接进入主题,首先,我们需要先创建一个内存泄漏问题,我们创建两个数组,然后让他们两个相互持有,这样就会出现内存泄漏问题了,代码如下所示.整体的代码是在ViewController中的viewDidLoad这个方法实现的.
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *firstArray=[[NSMutableArray alloc]init];
NSMutableArray *secondArray=[[NSMutableArray alloc]init];
[firstArray addObject:secondArray];
[secondArray addObject:firstArray];
}
然后,我们打开Xcode菜单栏中的Product选项中的Profile选项,也可以使用快捷键** command + I **,图中因为正在截图,所以快捷键发生了变化.

然后在Instruments菜单中找到Leaks,如下图所示.

打开Leaks工具之后,我们首先在左上角选择我们需要检测的程序,这里我们可以检测当前Mac上任意一个开启的程序,这里我们选择模拟器的Demo程序,如下所示.

工具默认的是Allocations选项,然后我们需要选择Leaks选项,点击红色⭕️按钮,启动检测程序.

然后我们运行完成之后,就会得到下面的页面,我们就可以通过页面的信息找到我们内存泄漏的具体位置了.

</br>
尾声
跟大家透个底,其实网上关于Leaks工具的博客比较常见,骚栋只是做一下使用记录,方便以后使用.不过如果喜欢这篇文章欢迎点赞,谢了~~
</br>
