博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS ViewController Dealloc监听
阅读量:6238 次
发布时间:2019-06-22

本文共 670 字,大约阅读时间需要 2 分钟。

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

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

传统的解决方案有两种:

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

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

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

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

食用效果如下:

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

  • 现已加入cocoapods豪华午餐:

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

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

转载于:https://juejin.im/post/5ae444b9f265da0b8e7f290d

你可能感兴趣的文章
机器学习算法清单!附Python和R代码
查看>>
云原生的新思考,为什么容器已经无处不在了
查看>>
8月9日 上课截图
查看>>
laravel修改密码及与原密码Hash::check比较
查看>>
谈谈你对volatile的理解
查看>>
使用xtrabackup备份数据库
查看>>
一线互联网常见的 14 个 Java 面试题,你颤抖了吗程序员
查看>>
zip压缩,tar打包并压缩
查看>>
负载均衡集群 LVS的介绍、调度算法、NAT模式搭建
查看>>
MySQL误删数据救命指南:开发人员必收藏
查看>>
522还不知道怎么表白吗?——经典设计模式之【观察者模式】
查看>>
事务中更新无效问题解决
查看>>
CSS:阴影/边框/背景
查看>>
PHP 超级全局变量
查看>>
SQL的优化
查看>>
CodeIgniter HMVC 扩展
查看>>
Mybatis-Plus使用全解
查看>>
XMind浏览视图,你必须会使用
查看>>
OSChina 周日乱弹 ——会爬墙的不仅仅是壁虎还有班主任
查看>>
OSChina 周日乱弹 —— 小云云生日快乐
查看>>