`

[IPhone]如何使用Leak检查内存泄漏[转]

 
阅读更多

简介 
在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中的一个错误。

分享到:
评论

相关推荐

    如何使用Leak检查内存泄漏

    以下是使用Leak工具检查内存泄漏的步骤: 1. 首先,在Xcode的工具栏中,选择"Run",然后从下拉菜单中选择"Run with Performance Tool",进一步选择"Leaks"。这将启动Leak工具并开始对你的应用程序进行监控。 2. 当...

    Leak Hunter(iPhone源代码)

    Xcode 自身有内存泄漏检查工具,但有些开发者(特别是初学者)觉得复杂,并且有时不能检查所有的内存泄漏的地方。此类库能够嵌入代码中,直接报告内存泄漏的对象。 2. 虽然此类库很小,并且不会影响代码运行性能,...

    Xcode9 真机调试iOS11.1 (真机调试包)

    通过真机调试,开发者可以直接在设备上观察这些问题,利用Xcode的调试工具进行诊断,例如用 Instruments 进行内存和CPU性能监控,或用Leak检测内存泄漏。 总之,"Xcode9 真机调试iOS11.1”是一个iOS应用开发的关键...

    Xcode真机调试包15.4.zip

    同时,对于内存管理,Leak检测工具可以协助开发者找出内存泄漏问题,确保应用的稳定运行。 除此之外,Xcode 15.4还增强了对Swift编程语言的支持,包括Swift Package Manager的集成,使得依赖库的管理更为便捷。对于...

    iOS笔试题.doc

    - Instruments 是Xcode自带的一款强大的性能分析工具,Leak工具专门用于检测内存泄漏。 20. **在 iOS 开发环境下,后缀为 .a 的文件又叫做静态库**。 - 静态库是由多个目标文件(.o 文件)组成的归档文件,用于...

    iOS工程师培养计划

    - **XCode调试技巧**:掌握使用Xcode工具进行调试的关键技巧,如使用`Leak`、`Profile`、`Clog`等功能进行性能优化。 - **常用库介绍**:了解并掌握一些常用的第三方库,以提高开发效率。 #### 四、总结 通过本...

Global site tag (gtag.js) - Google Analytics