我的Android應用程序中有一對背景圖片,用於垂直和水平佈局。它們是總共大小爲236 KB的jpeg圖像。儘管尺寸很小,背景圖片的內存問題
雖然我一直用盡內存,但出現錯誤消息"Out of memory on a 23047212-byte allocation"
。
如何獲得23 MB的分配資源,總共236 KB的背景圖像?
只有在我的活動中使用背景圖像時纔會出現問題。
我的Android應用程序中有一對背景圖片,用於垂直和水平佈局。它們是總共大小爲236 KB的jpeg圖像。儘管尺寸很小,背景圖片的內存問題
雖然我一直用盡內存,但出現錯誤消息"Out of memory on a 23047212-byte allocation"
。
如何獲得23 MB的分配資源,總共236 KB的背景圖像?
只有在我的活動中使用背景圖像時纔會出現問題。
圖像文件的大小(以KB爲單位)與此問題沒有直接關係,但圖像的大小也與其他因素一樣以像素爲單位。 所以如果你想減少內存消耗,最簡單的方法是使用尺寸較小的圖像。
這個問題可以幫助你:
另一個問題是,Android不以同樣的方式釋放本地陣列,用於圖像數據,自動的,因爲它確實在GC時的Java對象。 Imho你需要跟蹤參考數量並且自己釋放它們。但是,如果你一直有很多新的圖像。像很長的圖片列表或具有頭像的用戶。或者可能是你的背景一次又一次加載。
您可以在清單應用程序標記中設置android大堆真實。 –