2011-12-02 103 views
0

我的應用程序設計爲res文件夾中的所有佈局,因爲應用程序是圖像處理;它處理大尺寸的位圖,並給出out of memmory error。我想知道什麼是好方法。Android內存泄漏設計佈局

  1. 設計佈局編程
  2. 使用從res文件夾佈局。

如果我正在設計程序中的所有佈局,我可以自己清除onDestroy()中的所有佈局,如果佈局是用XML聲明的,我不能這樣做。

回答

1

我認爲最好的方法是使用XML的方式,因爲它更快速,可重複使用..如果你沒有通過你當前的活動場景到另一個活動,Android將採取清理你的佈局的照顧..

如果需要,您可以在onDestroy()中清理膨脹的佈局,完全如何處理編碼佈局。但我不認爲這是必要的。

+0

您無法以任何方式清理佈局。您可以嘗試將所有佈局變量設置爲null或設置一個空佈局並在之後調用gc,但手動調用gc並不真正支持並且對於android來說是合理的。 – Janusz

+0

嗯,我認爲在java中的「乾淨」一詞的意思是:將參考設置爲空:) – Cata

0

如果您使用大型位圖並在創建後更改它們,請確保您在所有未使用的位圖上調用recycle。這是Android手動內存管理的唯一需要。

回收將釋放位圖在當前Android版本中佔用的本地存儲空間。佈局使用的內存不太可能會導致內存問題。專注於您正在創建的位圖對象。