0219 --xcode 7 解决内存问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0219 --xcode 7 解决内存问题相关的知识,希望对你有一定的参考价值。

(转载)使用Xcode7的Instruments检测解决ios内存泄露

字数596 阅读505 评论1 

来自 iOS丶Country的文章 地址http://www.cnblogs.com/iOSv587country/p/4862989.html

作为一名iOS开发攻城狮,在苹果没有出ARC(自动内存管理机制)时,我们几乎有一半的开发时间都耗费在这么管理内存上.后来苹果很人性的出了ARC,虽然在很大程度上,帮助我们开发者节省了精力和时间.但是我们在开发过程中,由于种种原因,还是会出现内存泄露的问题.内存泄露是一个很严重的问题.下面就简单介绍下怎么使用Xcode7自带的Instruments中的Leaks检测我们的程序有没有内存泄露和定位内存泄露的代码.(分析内存泄露不能把所有的内存泄露查出来,有的内存泄露是在运行时,用户操作时才产生的)

第一步:打开Xcode7自带的Instruments

技术分享

或者:

 

技术分享

按上面操作,build成功后跳出Instruments工具,选择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.找到了内存泄露的地方,那么我们就可以修改即可

以上是关于0219 --xcode 7 解决内存问题的主要内容,如果未能解决你的问题,请参考以下文章

Cordova/Knockout/jQueryMobile 缓存内存性能

Redis缓存穿透击穿雪崩到底是个啥?7张图告诉你

XCode 错误/警告问题/如何对 XCode 缓存进行核对

清理mac本内存

Xcode/Swift - 无法解决仪器的内存问题

使用Xcode Instruments Leak解决内存泄漏问题