使用MLeaksFinder工具,直接加入项目即可,运行项目,对于产生内存泄漏的对象,会进行弹窗提示。弹窗中最后一项即为发生内存泄漏的对象。
目前可以进行提示的只有Controller和View
对于Controller,在dealloc方法上打断点,会发现并没有调用这个方法。
没有调用的原因基本上有如下四种:
1.定时器对象没有被释放
2.block内产生了循环引用
3.delegate使用了强引用
4.添加的观察者没有删除
按照以上四种情况进行查找,大部分的内存泄漏原因都可以被找到