我正在整理我的iPad應用程序中的一些內存分配問題,並花了很長時間看CFString
成長和成長(作爲一個仍然活着的物體)在殭屍工具下,直到我切換到泄漏或分配工具,我發現它根本沒有多大增長(創建並且仍然活着始終保持穩定)任何人都可以解釋爲什麼會發生這種情況在殭屍,但不泄漏或分配儀器,它使我想知道如果CFString
是一個問題,或只是殭屍拋出的假陽性....在Zombies儀器下運行時大型CFString分配,但不泄漏或分配儀器
回答
殭屍專門不釋放內存,以便您可以看到,如果你是訪問我在你釋放它之後。在使用殭屍時,不能嘗試檢測泄漏。
根據殭屍工具,你應該只是試圖檢測殭屍。應用程序的其他行爲不一定會相同。爲了最大限度地發現訪問殭屍的機會,可以使用非標準分配器。
即時通訊不知道這是100%正確的,我可以看到其他分配上升和下降,以及生活對象的數量上升和下降,但CFString似乎螺旋失去控制,這是分配不泄漏我看着 – Matt 2011-04-08 15:17:00
CFString使用自定義分配器 - 也許他們可以重用內存。如果是這樣,不釋放將導致更多的分配。另外,如果分配器可以共享用戶不知道的實例(引擎蓋下的引用計數) - 那麼必須關閉這個實例,否則您將無法檢測到濫用。我懷疑這是預期的行爲。 – 2011-04-08 16:54:32
+1 @Matt您看到的許多分配可能都是通過NSString apis分配的。 NSString是CFString - 您可以追蹤最重的路徑或您關注的路徑(在樂器中)。這些(NSStrings)不會被釋放,並有意泄露Lou的說法。儀器可以記錄每個分配創建的調用堆棧以及每個參考計數操作。 – justin 2011-04-08 17:36:24
- 1. XMLParser泄漏儀器泄漏
- 2. 潛在泄漏? - 分析儀
- 3. 儀器和泄漏
- 4. IPHONE:分析泄漏與儀器
- 5. XCode 4運行泄漏儀器
- 6. 如何找到在分配Objective-C的端子或泄漏儀器
- 7. Xcode - 什麼是分配大小在分配儀器
- 8. Xcode儀器 - 修復泄漏
- 9. 儀器(泄漏)和NSDateFormatter
- 10. 即使在運行HelloWorld_IPhone monotouch時儀器中泄漏了物體
- 11. 使用儀器進行泄漏搜索
- 12. iphone上的對象分配儀器
- 13. iPhone:儀器分配穩步增加
- 14. Xcode儀器和持久分配
- 15. 增加儀器中的對象分配
- 16. 檢查儀器內存分配
- 17. 如何在不使用儀器的情況下在iphone應用程序中查找內存分配和泄漏?
- 18. 無法爲目標進程配置泄漏儀器
- 19. XCode儀器分配:查看實時字節或整體字節?
- 20. 在xcode中同時運行儀器 - >泄漏和調試器控制檯
- 21. 自定義分配器泄漏內存
- 22. 泄漏儀器中的百分比是什麼 - Xcode
- 23. 分析,泄漏工具導致儀器崩潰
- 24. 使用noobs儀器泄漏的建議
- 25. __NSOperation內部泄漏被儀器報告
- 26. 儀器中有內存泄漏的類
- 27. 儀器 - iPad應用程序泄漏
- 28. 內存泄漏 - 儀器,Objective-C
- 29. 使用儀器 - 使用設備泄漏
- 30. 內存泄漏Xcode 8儀器
你是指所有的字符串還是隻是某個實例/字段? – 2011-04-08 13:19:17
從應用程序中看似無處不在的CFStrings一般很多很多,這些都是生活分配不泄漏 – Matt 2011-04-08 15:15:53