内存泄漏解决问题系列 - 成员变量访问问题

项目中遇到的一个比较容易忽略的而且容易导致循环引用的问题,这里记录一下,供大家分享!

项目是一个聊天的SDK,在点击会话进入聊天页面的时候,会懒加载一个名为 sendMessageView 的一个类似发送工具的自定义视图,在这个视图实例化的时候会设置一些事件的监听和默认的基本配置.

然后什么也不做直接返回,发现 ! ! !坑来了...... 产生了循环引用,sendMessageView的dealloc方法没有走, 哦 卖 嘎! 发生了神马 !∑q|゚Д゚|p

好了既然问题出现了,那么就让我们来逐个击破 ! !

1.第一步,我开始找我的 '谷哥'  下载了一个检测内存泄漏的工具,大神编写的 工具地址:点击打开链接

2.第二步, 找来了帮手之后,就开始解决问题,首先检查是否在 block 中使用了self  ,检查后发现并没有

3.第三步, 既然没有这种问题,那么就使用比较直接的调试方法 ,注释法! 我的常胜将军 ! ! ! 把那些有怀疑的都给注释掉! 运行!  d=====( ̄▽ ̄*)b 成功!疑犯找到了!

4.第四步, 找到疑犯之后,开始足一审问 审问........

5 第五步:疑犯已查出!发布公告!  是 _name 下划线访问变量问题, 😆 修改成self. 点语法

总结:下划线访问变量,和点语法有什么区别呢? 看这个文章:点击打开链接

好了,大功告成 ! ! ! 😑

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

推荐阅读更多精彩内容