[英]No leaks appearing in Instruments, even though I'm sure they exist
我正在檢查儀器中的泄漏,並且已設置為每秒檢查一次,但是沒有泄漏出現。
我確定我的應用程序中必須有一些東西,是否有任何東西可以阻止這些東西出現? 有什么好方法可以創建泄漏,以便可以測試儀器中是否確實出現泄漏?
謝謝!
創建泄漏很容易:
id someObject = [[NSObject alloc] init];
someObject = nil;
將類似的代碼放到您的應用中,您肯定會在Instruments中看到泄漏。
如果分配了對象但不再引用該對象,則只會使用工具查找泄漏。 “泄漏”的另一種類型是保留對您不想要的內容的引用。 這通常發生在哈希表或字典之類的集合中,其中鍵/值對保留在程序員遺忘的集合中。
我非常確定,正如clemahieu所假設的那樣,您真正看到的是保留過度的對象-您認為您已經釋放了它們,但它們仍然保留着。
一個快速的健全性檢查是在dealloc中設置斷點,並查看您是否真正希望釋放的類。
您還可以使用內存跟蹤工具(而不是泄漏)來查看仍然有哪些內存-只需確保選擇“創建並仍然存在”選項,以檢查出仍然有哪些對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.