2016-09-06 25 views
-1

我正在創建一個遊戲,每個活動的背景圖像大小約爲500kb。它由幾個活動組成,所以當我按下後退按鈕時,它應該回到它來自的那個。沒有涉及保存狀態,但仍然耗盡內存。我能做些什麼來更好地管理內存?每個活動都有一個背景圖像,還有1-2個較小的圖像。如何處理Android活動中的大圖像

我從xml直接設置背景圖像。

這裏是我通常用於所有活動的onStop方法。

protected void onStop() { 
    super.onStop(); 
    LinearLayout layout = (LinearLayout) findViewById(R.id.bg); 
    ImageView imageView = (ImageView) findViewById(R.id.imageView6); 
    layout.setBackgroundDrawable(null); 
    imageView.setImageDrawable(null); 
    setContentView(new View(this)); 
} 
+0

第一步就是儘可能多地縮小圖像,而不會影響質量。 TinyPng是一個應該提供一些很好的結果的工具https://tinypng.com/ –

+0

投票結束太寬泛不是因爲你想要的不好,而是因爲沒有代碼和這樣的模糊要求,我們只能給出模糊的答案。但我會考慮使用LRUCache來限制所有映像使用的內存量(通過強制它們進入一個封閉池)作爲一個好的第一步。同時,確保擁有非常大圖像的活動在不需要顯示它們(放入LRU緩存)時釋放它們。 –

+0

對不起,這是我製作的第一個應用程序,所以我對存儲器管理了解不多。我如何釋放圖像?我會在幾分鐘後發佈一些代碼。 –

回答

0

嘗試縮小圖像。有很多在線編輯工具。儘可能多地縮小圖像,而不會影響圖片的質量。祝你好運。