一般查看循环引用时,可能我会常常按照下面的思路依次进行吧。
- 检查是否有常规的循环引用: iOS 中的循环引用
- 当然会通过看这个类 是否 dealloc 掉检查是否有解决掉,再次确认下
- 直接的一种老方法是通过 Leaks 一步一步查看
- Xcode 8 之后却是可以直接通过看 Debug Memory Graph 的
此处是最近用的 Debug Memory Graph 的方法,简单记录下。
- 在 app 运行的时候, 点击 Debug View Hierarchy 按钮旁边的 Debug Memory Graph 按钮即可, 对就是那个三个圆圈两个线的按钮.
- 然后就可以看到
- 在 Memory Graph 所有的强引用都是黑色实线, 而灰色实线并不是弱引用, 只是一些系统级别的引用或者苹果为了优化显示效果而添加的。
- 类似本应该释放掉的类直接查看其 Memory Graph Debug Tool 中的东东就可以看到了。
然后查看下本应该被干掉的强引用为啥还在就OK啦
参考:Xcode 8 的 Debug 新特性
网友评论