【问题标题】:Leaks never show up in Xcode 6.1.1 Instruments toolXcode 6.1.1 Instruments 工具中从未出现泄漏
【发布时间】:2015-02-24 17:21:09
【问题描述】:

Similar to this Q,我正试图在一个不断发出内存警告的应用程序中找到泄漏,但即使我故意放入一些泄漏作为例如这样的健全性检查:

id someObject = [[NSObject alloc] init];
someObject = nil;

在使用 XCode 6.1.1 的泄漏配置文件时,仪器工具的泄漏部分中不会出现任何内容。我觉得我缺少一些基本的“启用”泄漏检测。请帮忙!

【问题讨论】:

    标签: ios objective-c xcode memory-leaks instruments


    【解决方案1】:

    您在使用 ARC 吗?因此,这不是泄漏。

    如果您不使用 ARC,请注意静态分析器(Xcode 的“产品”菜单上的“分析”)在识别各种问题方面绝对出色。它会立即确定您在问题中提到的问题,从而更快地引起您的注意。确保您从静态分析器获得了干净的健康状况。

    但是,对于您更广泛的问题,泄漏工具无法识别许多内存问题(贪婪缓存、废弃内存、强引用周期等)。使用分配工具,拖动图表的一部分以选择范围,然后查看已分配但未释放的对象。 Leaks 工具不会识别其中的许多问题,但 Allocations 工具会。

    参见 WWDC 2014 视频 Fixing Memory Problems 或 WWDC 2013 iOS App Performance: Memory

    【讨论】:

    • 感谢您的提示和链接。我应该很清楚,该应用不是 ARC。
    • 非常好。顺便说一下,看看静态分析器,它会比 Instruments 所希望的更有效地引起你的注意。
    • 标记为答案,因为那些 WWDC 视频很有帮助。我仍然不明白的一件事是为什么我无法让 Leaks 配置文件在真实设备上工作。它似乎只在模拟器中给出泄漏数据。
    猜你喜欢
    • 2023-04-10
    • 2011-10-10
    • 1970-01-01
    • 2012-05-30
    • 2011-07-21
    • 1970-01-01
    • 2012-01-05
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多