以最簡單的形式,我的應用程序顯示10個UIImageView,每個包含一個圖像。即使所有包含圖像的UIImageViews,我的應用程序都使用足夠小的內存佔用量。但是,有一個按鈕可以通過將所有圖像設置爲零來清除所有UIImageView。問題是,當在樂器中檢查內存監視器時,由UIImageViews保存的內存不會消失。這不會出現在分配工具中,確認剩餘內存佔用不是對象,而是基於圖形的內存。如果我將圖像大小調整爲更小或更大,則剩餘的內存也會分別變小或變大。UIImageView不能正確釋放圖像數據?
爲什麼圖像數據在UIImageView的圖像設置爲零後仍然存在?
理論上這個緩存不會在應用程序收到內存警告時被釋放嗎?儘管有警告,它仍然存在於我的應用程序中。 – 2012-01-14 19:43:38
是的,我非常肯定,我在某處讀取緩存內容時會收到內存警告,因此看起來存在問題。我會更新我的答案。 – 2012-01-14 23:08:04