[英]Android - background images take too much memory
在我的游戲中,我有3個活動:主菜單 - >子菜單 - >游戲屏幕。 因此,當用戶在游戲屏幕中玩游戲時,前兩個活動處於非活動狀態,但未被銷毀。
每個布局都有一個很好的背景圖像。 圖像本身非常小(40k),但在大屏幕(比如Galaxy平板電腦)上,它需要幾兆的內存。 從前兩個活動中刪除背景后,第三個活動的內存使用量從18M降至13M!
有沒有辦法保持背景並恢復所有這些浪費的記憶?
由於布局中的背景圖像,我遇到了類似的問題。 圖像的內存分配的正常大小應為height * width * 4字節(在模式ARGB_8888中,默認模式)。
如果您在展示活動時看到並分配了18MB,則必定存在一些問題。 檢查是否將背景圖像放在drawable文件夾中。 在這種情況下,系統必須將該圖像縮放到屏幕的特定密度,從而導致大量內存開銷。
解決方案:
本答案中的更多信息
希望這可以幫助。
為什么在開始新活動(C)時沒有完成以前的活動。 然后,您可以覆蓋活動C中的onKeyDown方法以啟動上一個活動(B)
我建議在你的活動中覆蓋onPause()或onStop()。 在那里,你可以釋放背景(通過調用layout.setBackgroundDrawable(null))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.