本文来自@anywn_xue的投稿
每一次版本迭代,最麻烦的步骤就是检测内存问题,当出现大量的未使用内存被无效占用,会直接导致如下两种后果:
每次App进入后台后,当iphone出现内存不足,需要释放app的时候,app总是被优先释放
更严重的甚至会出现由于内存问题崩掉的情况
传统的解决方案有两种:
要么是通过控制台打印dealloc,判断哪一个ViewController未释放
要么是通过Xcode自带工具进行内存分析,然后找出问题所在。
通过分析发现,内存出现最多的无效占用的情况是由于ViewController未释放的情况,而今天这篇文章就是给大家提供一个新的解决Viewcontroller未释放的方案:
WKVCDeallocMonitor
(此处应有掌声··· 什么?不给!我只能自己给自己强行加一个BGM鼓个掌...)
食用效果如下:
当项目中有VC未释放时,则会在屏幕上方出现一个Leak字样的可点击视图,点击后可查看未释放的VC的列表,再次点击VC对应的Cell,能查看其本该释放之前的生命周期内所执行的VC生命周期方法,进而更容易定位出问题的地点。
现已加入cocoapods豪华午餐:
在Podfile中添加pod 'WKVCDeallocMonitor',再执行pod install,pod下来后,直接运行项目 即可食用,无需更多操作,而且只会在DEBUG模式生效,Release模式即便VC出现泄漏,也不会有Leak字样图标显示