内存泄漏的检测方式:
一、静态检测方法
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方法,看它最终有没有调用。