2015-02-24 39 views
0

Similar to this Q,我试图找到一个应用程序中的泄漏,不断给予内存警告,但即使我故意放入一些泄漏作为这样的理智检查例如:泄漏从来没有出现在Xcode 6.1.1仪器工具

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

当在XCode 6.1.1中使用Leaks配置文件时,仪器工具的Leaks部分没有任何显示。我觉得我缺少一些基本的“启用”泄漏检测。请帮忙!

回答

2

您使用ARC吗?如此,那不是泄漏。

如果您不使用ARC,请注意静态分析器(在Xcode的“产品”菜单上的“分析”)在识别各种问题方面绝对精彩。它会立即发现你在你的问题中提到的问题,让你的注意力更快。确保你有静态分析仪的健康清单。但是,对于更广泛的问题,许多内存问题(贪婪缓存,废弃内存,强参考周期等)不能通过泄漏工具识别。使用Allocations工具,拖动图的一部分来选择范围,然后查看已分配但未释放的对象。泄漏工具不会识别许多这些问题,但分配工具将会。

查看WWDC 2014视频Fixing Memory Problems或WWDC 2013 iOS App Performance: Memory

+0

感谢您的提示和链接。我应该清楚,该应用程序是非ARC。 – stonedauwg 2015-02-24 18:14:59

+0

非常好。顺便说一句,检查一下静态分析器,这会比您希望的仪器更有效地引起您的关注。 – Rob 2015-02-24 18:37:04

+0

标记为答案,因为这些WWDC视频非常有帮助。有一件事我仍然不明白,但是为什么我不能让Leaks配置文件在真实设备上工作。它似乎只给模拟器中的泄漏数据。 – stonedauwg 2015-02-24 23:01:06