有两种方法可以检测代码中的循环引用。
- 一方法是使用Xcode中的Memory Debug Graph.在图3-4所示的调试代码工具栏中,点击圆圈标注的按钮,Xcode会自动检测与内存相关的menory runtime issuse。点击相关问题处 , Xcode就会给出详细的循环引用示意图。
- 另一种解决方法是用Instruments里面的Leak选项-- 这是一个专门检测内存泄漏的工具。在进入页面后,发现Leak cheaks中出现内存泄漏时,可以将导航切换到cell tree模式下,强烈建议在Display Settings 中勾选“Separate by Thread”和 “Hide System Libraries”两个选项,这样可以隐藏系统和应用程序本身的调用路径,从而更方便的找出retain cycle 位置,如图