2015-09-01 45 views
0

我的Android應用程序中有一對背景圖片,用於垂直和水平佈局。它們是總共大小爲236 KB的jpeg圖像。儘管尺寸很小,背景圖片的內存問題

雖然我一直用盡內存,但出現錯誤消息"Out of memory on a 23047212-byte allocation"

如何獲得23 MB的分配資源,總共236 KB的背景圖像?

只有在我的活動中使用背景圖像時纔會出現問題。

+0

您可以在清單應用程序標記中設置android大堆真實。 –

回答

0

圖像文件的大小(以KB爲單位)與此問題沒有直接關係,但圖像的大小也與其他因素一樣以像素爲單位。 所以如果你想減少內存消耗,最簡單的方法是使用尺寸較小的圖像。

這個問題可以幫助你:

Android background image memory usage

+0

圖像是1067×600和600×1067,所以不是那麼大。 沒有可能使用這個尺寸和更大的背景圖像? (如果設備較大)。任何較低的分辨率,他們會看起來很可怕。 – Petter

+0

感謝您的鏈接。將圖像放置在drawable-nodpi文件夾中似乎解決了問題:) – Petter

0

另一個問題是,Android不以同樣的方式釋放本地陣列,用於圖像數據,自動的,因爲它確實在GC時的Java對象。 Imho你需要跟蹤參考數量並且自己釋放它們。但是,如果你一直有很多新的圖像。像很長的圖片列表或具有頭像的用戶。或者可能是你的背景一次又一次加載。