d00*_*dle 3 macos profiler cocoa objective-c
我有一个NSOutlineView应该dealloc从屏幕上删除,但由于没有发生,我怀疑另一个对象持有对它的引用.
是否有可能看到有多少references和哪些对象有一个object/viewin Xcode或Profiler?
编辑:虽然我确实找到了另一种解决方案,但我仍然想知道是否有任何方法可以查看保留(保留)某个对象/视图的对象列表
小智 12
您永远无法获得"保留某个对象的对象"的列表,因为引用计数只是一个计数 - 没有FIFO或LIFO或者保留和释放之间的任何直接匹配 - 它只是一个计数.
你可以做的是使用Instruments来显示所有对象的列表,这些对象负责保留对象的调用和释放调用.使用分配工具,确保选中"记录参考计数".然后,您可以使用"统计"视图查看正在运行的应用程序中的所有活动对象.单击任何对象右侧的小右箭头以查看该对象的保留/释放调用表.在这里您可以看到refcount上下移动,并希望找到"神秘地"保留和/或不释放的对象.
一些常见的过度保留问题是:a.代表需要弱势,b.需要取消注册视图控制器或窗口控制器中的任何观察者,c.插入视图层次结构时保留视图.
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |