MLeaksFinder的使用介绍和原理

MLeaksFinder 的主要用途

检测UIViewControllerUIView内存泄露的第三房库。引进MLeaksFinder后,可以向往常一样的开发。调试业务逻辑的过程并且自动的发现并提示内存泄露。开发者无需打开Instrument等工具,也无需为了找内存泄漏去跑额外的流程。这不仅很大的节省了开发者查找内存泄漏的时间成本,而且还能很及时的让开发这意识到哪了的代码有问题,并且修复。

下载地址点击这里

使用方式

MLeaksFinder 目录文件添加到你的项目中,就可以在运行时(debug模式下)帮你检测项目里的内存泄漏了,无需修改任何业务代码,而且只在debug下开启,完全也不影响你的release包

引入 MLeaksFinder 可选择 CocoaPods 安装,安装时注意有没有 warnings,特别是 OTHER_LDFLAGS 相关的warnings。如果有warnings,可以在工程的 Build Settings -> Other Linker Flags 加上 -ObjC

也可以手动引入,直接把MLeaksFinder的代码引入的引入到项目里即生效。如果把MLeaksFinder 做为子工程,需要在主工程的 Build Settings -> Other Linkers Flags 加上 -ObjC

引入后,先检验是否引入成功,在 UIViewController+MemoryLeak.m+(void)load方法中打上断点,运行项目时该方法进入便引入成功。

引入 MLeaksFinder 的代码之后即可检测内存泄漏,但查找循环引用的功能还未生效。可以再手动的加入 FBRetainCycleDetector 代码,然后把 MLeaksFinder.h 里的 //#define MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED 0 打开

MLeaksFinder 默认只在debug下生效,当然也可以通过 MLeaksFinder.h 里的 //#define MEMORY_LEAKS_FINDER_ENABLED 0 来手动控制开关。

MLeaksFinder -原理

0%