IOS内存泄漏检查方法及重写MLeakFinder

上传:innovate28888 浏览: 23 推荐: 0 文件:pdf 大小:109.96 KB 上传时间:2022-07-31 00:04:35 版权申诉

对于iOS开发来讲,内存泄漏的问题,已经是老生常谈的话题。在日常的面试中经常会提到这些问题。我们日常的开发过程中进行内存泄漏的检测,一般是使用instrument工具中的Leaks/Allocation来进行排查,网络上也有比较高效又好用的内存泄漏检测工具,MLeakFinder。MLeakFinder-原理首先看UIViewController,当一个UIViewController被pop或dismiss的时候,这个VC包括在这个VC上的View,或者子View都会很快的被释放。所以我们我们需要在UIViewController被POP或dismiss后一小段时间后,在这个VC上的view,subView等是否还存在。在UIViewController+MemoryLeak.h的load方法中可以看到,早+load方法中通过runtime交换了viewWillAppear,viewDidAppear,dismissViewControllerAnimated:completion:这三个方法。都是通过运行时,用关联对象添加属性。parentPtrs会在-assertNotDealloc中,会判断当前对象是否与父节点集合有交集。

上传资源
用户评论