博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios 检查内存泄露
阅读量:6348 次
发布时间:2019-06-22

本文共 777 字,大约阅读时间需要 2 分钟。

简介 

在IPhone程式开发中,记忆体泄漏(内存泄漏)是个很容易发生的情况,因为IPhone必须自行作记忆体管理。
现在的开发者,大多习惯用的。NET或Java的等有垃圾回收机制的开发语言来作开发,因此可能较不习惯自行释放內存。 
背景 
从我首次接触的Xcode开发IPhone程式已有三个半月,这段时间中,我看过不少如何找出内存泄漏的文章,可是由于基本观念不够好,绕了不少远路。
在IPhone程式开发中,使用NSLog直接在控制台印出retainCount也是一个检视內存泄漏的方法,但是的XCode提供了更方便的泄漏工具供开发者使用。
介于自身观念较差,因此刚开始使用泄漏的时候,也花了不少时间走过弯路,
因此写下自身经验,期望能帮助更多开发者。 
如何使用Leak 
 

 

1.如同上图所示,在的XCode工具列,Run=>“Run with Perfromance Tool=>Leak 

2.这样Leak就会启动

 

3.同时我将[m_Images release]注解起来

4.接下来让我们来看执行结果吧! 

5.这个是我目前正在开发的游戏专案,由于某个对象会随着游戏进行,会动态产生或从画面移除,因此在绿色框框的地方,可以看到内存的泄漏不段增加 

6.上图下方的列表,告诉我们在CloudAnimation::LoadImage中,有个阵列没被释放

 

7.点击后,就显示了该段编码的情况

8.接下来,我将注解掉的测试的编码还原,然后再次执行Leak。 

9.原本的内存泄漏就没了 

10.这个图里面看到的一些内存泄漏,是因为那些音乐正在播放,正在使用中的东西,当然不会释放,另外也有部份是SDK中的一个错误。

 

补充:如何在xcode4启动instruments 

转载于:https://www.cnblogs.com/yulang314/p/3551272.html

你可能感兴趣的文章
取消凭证分解 (取消公司下的多个利润中心)
查看>>
flask ORM: Flask-SQLAlchemy【单表】增删改查
查看>>
vim 常用指令
查看>>
nodejs 获取自己的ip
查看>>
Nest.js 处理错误
查看>>
你好,C++(16)用表达式表达我们的设计意图——4.1 用操作符对数据进行运算...
查看>>
18.3 redis 的安装
查看>>
jdbc 简单连接
查看>>
Activiti 实战篇 小试牛刀
查看>>
java中的Static class
查看>>
Xshell 连接CentOS服务器解密
查看>>
[工具类]视频音频格式转换
查看>>
GNS3与抓包工具Wireshark的关联
查看>>
groovy-语句
查看>>
VIM寄存器使用
查看>>
Java VisualVM远程监控JVM
查看>>
nasm预处理器(2)
查看>>
二叉排序树 算法实验
查看>>
Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件...
查看>>
YourSQLDba 配置——修改备份路径
查看>>