【问题标题】:How to verify that a ViewController and its View were correctly deallocated?如何验证 ViewController 及其 View 是否被正确释放?
【发布时间】:2010-12-20 04:45:36
【问题描述】:

我有一个应用程序,它最初在一个视图控制器中加载一段时间,然后在窗口视图中被 UINavigationController(及其相应的根视图控制器)替换。一旦应用程序由导航控制器管理,我将发布以前的视图控制器及其视图。我很难确认保留计数已达到零并且这些对象已成功释放。

简单地询问它的retainCount 是不可靠的——对于框架中的许多私有对象也是如此。使用调试器来跟踪对象的生命很快就会变成“超出范围”的消息之前,我对调试器的了解让我看到了对象的消亡。我可以做些什么来验证对象是否被正确释放(除了过度释放到崩溃点)?也许在 Instruments 中的 ObjectAlloc 中有一些东西?

【问题讨论】:

    标签: objective-c cocoa cocoa-touch xcode debugging


    【解决方案1】:

    嗯...我不确定,但您可以尝试在- (void) dealloc 感兴趣的对象方法中显示一些消息。

    【讨论】:

      【解决方案2】:

      是的,Instruments 可以做到这一点。使用列表中的 ➲ 按钮——它们对此非常有用。它们可以让您查看特定类的所有实例,然后查看特定内存地址的所有内存事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-01
        相关资源
        最近更新 更多