1) 引进 MLeaksFinder 后没生效?
- 先验证引进是否正确,在 UIViewController+MemoryLeak.m 的
+ (void)load
方法里加断点,看 app 启动时有没有进入。
2) 可以手动引进 MLeaksFinder 吗?
- 直接把 MLeaksFinder 的代码放到项目里即生效。如果把 MLeaksFinder 做为子工程,需要在主工程的 Build Settings -> Other Linker Flags 加上
-ObjC
。 - 只是引进 MLeaksFinder 的代码 Retain Cycle 功能还未生效,可以再手动加入 FBRetainCycleDetector 代码,然后把 MLeaksFinder.h 里的
//#define MEMORY_LEAKS_FINDER_RETAIN_CYCLE_ENABLED 1
打开。
3) Fail to find a retain cycle?
- 内存泄漏不一定是循环引用造成的。
- 有的循环引用 FBRetainCycleDetector 不一定能找出。
4) 如何关掉 MLeaksFinder?
- 把 MLeaksFinder.h 里的
//#define MEMORY_LEAKS_FINDER_ENABLED 0
打开。