iOS 内存泄漏的检测方式

Posted WinJayQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 内存泄漏的检测方式相关的知识,希望对你有一定的参考价值。

内存泄漏的检测方式:

一、静态检测方法

1)手动静态检测

     使用XCode分析功能,Product->Analyze

 2)自动静态检测

      在项目的Build setting中,将Analyze During ‘Build‘设置为YES

二、动态检测方法

1)Instrument 工具检测 Leaks

2) 第三方的内存检测工具,如MLeaksFinder

三、析构方法dealloc打印

 

       一般来说,在创建工程的时候,我都会在Build Settings启用Analyze During ‘Build‘,每次编译时都会自动静态分析。这样的话,写完一小段代码之后,就马上知道是否存在内存泄露或其他bug问题,并且可以修bugs。而在运行过程中,如果出现EXC_BAD_ACCESS,启用NSZombieEnabled,看出现异常后,控制台能否打印出更多的提示信息。如果想在运行时查看是否存在内存泄露,使用Instrument Leak工具。但是有些内存泄露是很难检查出来,有时只有通过手动覆盖dealloc方法,看它最终有没有调用。

以上是关于iOS 内存泄漏的检测方式的主要内容,如果未能解决你的问题,请参考以下文章

iOS之深入定制基于PLeakSniffer和MLeaksFinder的内存泄漏检测工具

MKMapView 在 iOS10 中检测内存泄漏

检测到套接字 io 可能的 EventEmitter 内存泄漏

(转载)IOS- Instruments使用之使用Leaks检测内存泄漏

如何检测内存泄漏

检测内存泄漏