时间:2021-05-02
作为一名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.找到了内存泄露的地方,那么我们就可以修改即可
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/iOSv587country/p/4862989.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7,iOS9.0的SDK中,苹果已经明确提示不再推荐使用UIAlertView,
xcode中自带的Instuments工具可以用来进行APP的自动化测试,以及用于进行内存泄露,文件读写操作等的性能分析.第一部分:熟悉Instruments的
苹果发布了Xcode7开发者测试Beta6,支持WatchOS2.0测试版、OSX10.11测试版、iOS9测试版等各正处于测试中的系统。这次Xcode的编译号
IOS给xcode工程关联pod的实例详解1.新建Podfile文件内容如下:platform:ios,'7.0'target:LJMediaPalyerdop
AndroidHandler的详解Handler我们常常用于通知主线程做相对应的操作,但是如果使用不但的话就会造成内存泄露,所以记录写正确的Handler写法。