了解分配仪器保留计数
Posted
技术标签:
【中文标题】了解分配仪器保留计数【英文标题】:Understanding Allocations Instrument Retain Counts 【发布时间】:2016-05-10 21:20:15 【问题描述】:我有一个未发布的视图控制器,尽管据我所知,我将所有代表设置为零,删除所有手势等,但即使使用 Instruments,我也很难理解保留视图控制器的原因.我启用了“记录保留计数”选项。
我的 UIViewController 的名称是 TDTPaintingViewController,正在由 TDTOilistOptionsViewController 加载和卸载。
我不清楚什么拥有保留计数,我很困惑为什么它会多次显示内容,即使我单步执行我的代码它只调用一次(例如 TDTOilistOptionsViewController.loadPaintingView())。
附加的是仪器跟踪。如果有人可以帮助解释它,我将不胜感激。它不仅可以帮助解决这个问题,还可以帮助我了解将来如何使用该工具。
Allocations Instruments.trace
【问题讨论】:
【参考方案1】:使用 Instrument Leak
模板是跟踪保留周期和未释放对象的更好方法。
根据您的跟踪文件,block
addChildViewController
是一个很好的起点,尤其是这个:
【讨论】:
谢谢 - 我看了一下 Leak 并不能真正分辨出区别。什么调用 addChildViewController?我正在使用 UINavigationController 的 pushViewController 方法来呈现绘画视图控制器。当我双击您推荐的行时,它会将我带到汇编代码。 我找到了 - 我以为我正在删除视图控制器视图并将其设置为 nil 但我没有!以上是关于了解分配仪器保留计数的主要内容,如果未能解决你的问题,请参考以下文章