iOS ViewController Dealloc监听

每一次版本迭代,最麻烦的步骤就是检测内存问题,当出现大量的未使用内存被无效占用,会直接导致如下两种后果:

  • 每次App进入后台后,当iphone出现内存不足,需要释放app的时候,app总是被优先释放
  • 更严重的甚至会出现由于内存问题崩掉的情况

传统的解决方案有两种:

  • 要么是通过控制台打印dealloc,判断哪一个ViewController未释放

  • 要么是通过Xcode自带工具进行内存分析,然后找出问题所在。

通过分析发现,内存出现最多的无效占用的情况是由于ViewController未释放的情况,而今天这篇文章就是给大家提供一个新的解决Viewcontroller未释放的方案:

WKVCDeallocMonitor
(此处应有掌声··· 什么?不给!我只能自己给自己强行加一个BGM鼓个掌...)

食用效果如下:

gif.gif

当项目中有VC未释放时,则会在屏幕上方出现一个Leak字样的可点击视图,点击后可查看未释放的VC的列表,再次点击VC对应的Cell,能查看其本该释放之前的生命周期内所执行的VC生命周期方法,进而更容易定位出问题的地点。

  • 现已加入cocoapods豪华午餐:

在Podfile中添加pod 'WKVCDeallocMonitor',再执行pod install,pod下来后,直接运行项目 即可食用,无需更多操作,而且只会在DEBUG模式生效,Release模式即便VC出现泄漏,也不会有Leak字样图标显示

如有疑问可联系357863248@qq.com

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,203评论 30 471
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,251评论 1 23
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 1,989评论 1 16
  • 前言 大家好,我是涂涂。涂涂我自从拿到东尼博赞认证思维导图管理师证后,总觉得应该做些什么,于是乎,我决定在这个思维...
    教书匠涂航阅读 1,684评论 8 21
  • 一、什么是教练 教练的实质是帮助人们释放潜力,达到最佳状态。 如果我们不相信被指导者的能力,那就无法帮他成长。想要...
    kafkaliu阅读 243评论 0 1