我在我的iPod有一個應用程序。ios開發的內存管理奇怪的事
1.Open的應用程序,並在內存儀器看(活動監視器),這是8.95M
2.click一個按鈕,它會與一個大的圖像添加一個UIImageView到屏幕,內存現在是17.8M。
3.從屏幕上移除UIImageView,等待一秒鐘,現在內存爲9.09M。
我確定UIImageView是從屏幕上移除後發佈的。這是非常簡單的代碼。 所以當它被移除時,應用程序的狀態應該與之前一樣,將UIImageView添加到屏幕上,對嗎?但爲什麼內存是9.09M而不是8.95M?如果您向屏幕添加更復雜的視圖,則差異更加明顯。
如果您再次打開相同的圖像,然後一遍又一遍地移除它,它是否每次增長相同的數量?如果是這樣,這是一個內存泄漏。如果不是,這是正常的。 – 2012-04-13 10:56:06
不,它不會。記憶保持9.09M。但這是問題所在。我有一個視圖時添加刪除,300k內存添加! – Ning 2012-04-13 11:04:45
如果內存保持在9.09M並且在打開和關閉視圖時不增長,那麼您沒有內存泄漏。這是正常的。您無法將所有資源完全返回到系統。其中一些人一直停留在應用程序中。只要應用程序可以重新使用它們,這不是問題。 – 2012-04-13 11:07:19