使用Xcode7的Instruments检测解决iOS内存泄露
原文链接:http://www.jianshu.com/p/0837331875f0
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
作为一名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.找到了内存泄露的地方,那么我们就可以修改即可
转载于:https://www.cnblogs.com/xjy-123/p/5267565.html
使用Xcode7的Instruments检测解决iOS内存泄露相关推荐
- 使用Xcode的Instruments检测解决iOS内存泄露(leak)
在苹果没有出ARC(自动内存管理机制)时,我们几乎有一半的开发时间都耗费在这么管理内存上.后来苹果很人性的出了ARC,虽然在很大程度上,帮助我们开发者节省了精力和时间.但是我们在开发过程中,由于种种原 ...
- 【工程项目经验】之Xcode的Instruments检测解决iOS内存泄露
参考网址:http://www.cnblogs.com/iOSv587country/p/4862989.html
- 使用Xcode和Instruments调试解决iOS内存泄露(转)
转自:http://blog.csdn.net/totogo2010/article/details/8233565 虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还 ...
- 使用Xcode和Instruments调试解决iOS内存泄露【转】
转载自:http://blog.csdn.net/totogo2010/article/details/8233565 虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露 ...
- 使用Xcode和Instruments调试解决iOS内存泄露
虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露 ...
- iOS 【使用Xcode和Instruments调试解决iOS内存泄露】
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露, ...
- 精准 iOS 内存泄露检测工具
MLeaksFinder:精准 iOS 内存泄露检测工具 发表于 2016-02-22 | zepo | 23 Comments 背景 平常我们都会用 Instrument 的 Lea ...
- iOS内存泄露监测和修复
内存泄露的相关概念: 如果程序运行时一直分配内存而不及时释放无用的内存,程序占用的内存越来越大,直到把系统分配给该APP的内存消耗殚尽,程序因无内存可用导致崩溃,这样的情况我们称之为内存泄漏. 内存泄 ...
- Android 解决handler内存泄露的方法
文章目录 1.简介 2.方法一避免Handler 泄露 3.方法二添加弱连接 1.简介 大体理解为: Handler 在使用的时候一般要依附于一个对象,很多时候 handler 延时发送的时候 ,所依 ...
最新文章
- 为什么java可跨平台执行,java为什么可以跨平台执行
- 戴琼海:人工智能的几点思考
- matlab三位画图_matlab 3D绘图详解(示例代码)
- P2617 Dynamic Rankings(主席树+树状数组)
- mysql schema数据混乱_MySQL之Schema与数据类型优化
- 挑战 TensorFlow、PyTorch,“后浪”OneFlow 有没有机会?
- 试述计算机控制系统的大致组成,试述工业计算机控制系统的组成及应用
- 写弹窗时防止底层滚动
- 天文坐标系的转换 时角坐标和赤道坐标系的转化
- 计算机识别不了佳能打印机,佳能打印机不能打印如何解决 佳能打印机不能打印解决方法【介绍】...
- openCV5-getTickCount
- 高数——两个重要极限
- 支付宝支付服务端对接记录(小程序/APP 预支付统一下单及回调处理)
- win7 计算器 android,强大的Win7计算器
- JavaScript预解析
- Pyflink系列之使用pyflink实现flink大数据引挚的经典案例wordcount
- 词向量与词向量拼接_如何拥抱 embedding ?从词向量到句向量的技术详解-阿里云开发者社区...
- (Cys-RGD)包被CdTe量子|3-巯基丙酸(MPA)包被近红外发光CdTe量子
- js控制excel打印完美解决方案
- python求特征值以及特征向量,并且输出最小特征值对应的特征向量
热门文章
- C++中用TinyXML对XML文件进行解析
- 解含待定变量微分方程组
- 【python】直方图均衡化和自适应均衡化图像
- 抖音下拉词推广是什么?
- java备份mysql的单个表_MySQL 使用java备份某张表的操作
- python3.8安装pyinstaller失败_pip命令安装 pyinstaller失败解决办法
- java的位桶是什么_Java关于桶排序的知识点总结
- aix oracle集群日志,在AIX环境下实施Oracle 集群RAC的结构 文平
- 折线图笔记 -python
- mysql 覆盖索引 简书_mysql覆盖索引与回表