本文章转载于搜狗测试
性能对于一款app来说至关重要,而程序的内存占用情况就是一项很重要的性能指标。虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在。在本文中小编将给大家介绍一下在非ARC的情况下,如何使用Instruments - leaks工具来查找程序中的内存泄露。
运行Instruments - leaks工具
打开Xcode自带的Instruments:
或者:
按上面操作,build成功后跳出Instruments工具,选择Leaks选项
选择之后界面如下图:
到这里准备工作就完成了,下面我们进入正式的测试。
通过leaks分析程序潜在的内存泄露
1.选中Xcode先把程序(command + R)运行起来。
2.再选中Xcode,按快捷键(command + control + i)运行起来,此时Leaks已经跑起来了。
3.由于Leaks是动态监测,所以我们需要手动操作APP,一边操作,一边观察Leaks的变化,当出现红色叉时,就监测到了内存泄露,点击右上角的第二个,进行暂停检测(也可继续检测,当多个时暂停,一次处理了多个).如图所示:
4.下面就是定位修改了,此时选中有红色柱子的Leaks,下面有个"田"字方格,点开,选中Call Tree,显示如下图界面:
5.下面就是最关键的一步,在这个界面的右下角有若干选框,选中Invert Call Tree 和Hide System Libraries,(红圈范围内)显示如下:
到这里就算基本完成啦,这里显示的就是内存泄露代码部分,那么现在还差一步:定位!
6.选中显示的若干条中的一条,双击,会自动跳到内存泄露代码处,如图所示
7.最后一步,就是根据内存泄露的提示修改代码了!