2015-02-24 37 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