我最近将我的 iOS 项目转换为 ARC。视图控制器之一没有调用其 dealloc 方法,并且没有根据 Instruments 进行释放。
我已经仔细检查了我的所有属性并将适当的属性设置为弱。我还确保任何将视图控制器作为委托的东西都在 viewWillDisappear 上取消设置,但视图仍然保留在内存中。
我是 Instruments 的新手:我如何知道什么保留了这个视图?
好吧,如果你真的陷入困境并且程序很复杂(或者抽象,在 ARC 的情况下),你可以拿出大炮:
- 打开您的 Xcode 项目
- 选择可执行文件(如果需要)
- Press
cmd+i
(轮廓)
- 在 Le Wizard 中选择“Leaks”仪器(如果需要)
- 按 Return 键开始分析
- 锻炼你的应用程序
- 按仪器中的“停止”
- 验证已选择“分配”工具
- 单击并按住名为“统计”的弹出按钮
- 选择对象列表项
- 在对象列表的记录中找到您感兴趣的分配
- 选择该分配/对象
- 单击该分配的表格视图单元格中地址右侧的“详细箭头”
- 现在您可以看到与分配相关的所有事件(分配、释放、引用计数操作)
- Press
cmd+shift+e
详细信息
- 浏览此列表中的事件,找到您要寻找的不平衡之处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)