泄漏从未出现在 Xcode 6.1.1 Instruments 工具中

Leaks never show up in Xcode 6.1.1 Instruments tool

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

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

在 XCode 6.1.1 中使用 Leaks 配置文件时,Instruments 工具的 Leaks 部分不会显示任何内容。我觉得我缺少 "enable" 泄漏检测的一些基本知识。请帮忙!

您在使用 ARC 吗?所以,那不是泄漏。

如果您不使用 ARC,请注意静态分析器(Xcode 的 "Product" 菜单上的 "Analyze")在识别各种问题方面绝对出色。它会立即识别出您在问题中提到的问题,从而更快地引起您的注意。确保您的静态分析器健康状况良好。

但是,对于您更广泛的问题,泄漏工具无法识别很多内存问题(贪婪缓存、废弃内存、强引用循环等)。使用分配工具,将图形的一部分拖到 select 范围内,然后查看已分配但未释放的对象。 Leaks 工具无法识别其中的许多问题,但 Allocations 工具可以。

观看 WWDC 2014 视频 Fixing Memory Problems or WWDC 2013 iOS App Performance: Memory