我想確保我正確讀取分配插件。我正在測試接收內存警告的iPad應用程序1,2 & 3. 我想從我的應用程序中知道當前用完的內存,我認爲它應該是「實時字節」列?這標誌着All Allations到2.42 MB,我認爲它的偏低。檢查iOS應用程序在儀器中使用的內存
其他欄報告什麼? #Transitory,總字節數? 此外,如果我的應用程序只使用3 MB的內存,如果我得到內存級別3警告而不釋放,它可以被殺死?
謝謝。
我想確保我正確讀取分配插件。我正在測試接收內存警告的iPad應用程序1,2 & 3. 我想從我的應用程序中知道當前用完的內存,我認爲它應該是「實時字節」列?這標誌着All Allations到2.42 MB,我認爲它的偏低。檢查iOS應用程序在儀器中使用的內存
其他欄報告什麼? #Transitory,總字節數? 此外,如果我的應用程序只使用3 MB的內存,如果我得到內存級別3警告而不釋放,它可以被殺死?
謝謝。
不要使用對象分配儀器看着你的總內存使用情況。它不會顯示應用程序的真實內存總容量,原因是我在我的回答here中進行了推測。
相反,與內存監控儀器對對象分配,其中後者將顯示您的應用程序的實際總規模。我敢打賭,它比在Object Allocations中看到的2.42 MB大得多(例如,根據ObjectAlloc,我的應用程序有700k的內存使用量,但實際大小在內存中大約爲25 MB)。如果您在iPad上收到內存警告,您的應用程序可能會咀嚼相當多的內存。
對象分配是非常方便的告訴你,你有什麼駐留在內存中,但它不是這些項目的大小的準確的指標。它也是一個很好的工具,可以讓你通過使用堆積鏡頭功能(儀器左側的「Mark Heap」按鈕)穩定增加分配的對象。
你的內存使用情況看起來不錯。檢查哪些應用程序正在發送內存警告,可能不是您的應用程序假設您的應用程序不在後臺。你應該得到內存警告的唯一方法是如果應用程序在後臺,另一個應用程序需要更多的內存。
當我在看日誌我注意到其他應用程序都拿到他們,而我的應用程序正在運行,其他應用程序,如郵件或導航應用程序(Navigon的)並在後臺運行,並會造成內存的壓力。您可能會收到內存警告,但不應被終止。
對於存儲器列的描述見Explanation of Live Bytes & Overall Bytes。
由於@Brad指出使用內存監視工具。
如何檢查其他應用程序是否收到警告?目前Iam在我的視圖控制器上檢查didReceiveMemoryWarning。謝謝 –
正如我在回答中指出的那樣,不應該使用Object Allocations來確定應用程序的絕對內存大小。它隱藏了大量的內存消耗,所以我們無法從上面提供的信息中知道他的應用程序的真實大小。我已經在Allocations中申請了700k的內存使用量,當時它確實使用了超過25 MB的內存。 –
聽起來不錯,但你不應該得到記憶警告。發佈分配跟蹤的屏幕截圖。 – zaph
謝謝,我添加了分配跟蹤屏幕截圖。 –
@theReverend當您將鼠標懸停在其標題上時,其他列有簡要說明。 –