0

我正在使用一些png圖像作爲我應用程序中活動的背景。這些PNG文件大多是非常小尺寸的圖像。例如,我正在使用一個大小爲768x1024的磁盤,實際上它是29.6KB磁盤。當我在我的Samsung Note 1上運行應用程序時,我意識到圖像實際上消耗了約。 3MB的內存。所以,Android似乎將PNG文件解壓縮爲完整的ARGB位圖(768x1024x4字節)。我認爲這可能是Android需要對圖像進行重新採樣/調整大小,並將PNG文件放入drawable-nodpi文件夾的結果,但這導致了相同數量的內存消耗。Android解壓縮PNG,將導致潛在的內存不足錯誤

那麼,在這種情況下我應該怎麼做,我可以以某種方式防止這種減壓行爲?我必須爲這個項目中的許多活動設置許多不同的圖像,所以看起來在某個時刻這會導致內存不足的錯誤。我是Android的初學者,我不知道系統如何處理圖像資源,所以我可能會錯過這裏。

+1

任何圖像都必須解壓縮才能顯示,因此無法防止解壓縮行爲。有許多技術可以清除位圖使用的內存,緩存它們等。大多數技術都在http://developer.android.com/training/displaying-bitmaps/index.html中進行了描述 – Jorge 2013-03-20 14:36:59

回答

1

嘗試在清單

android:hardwareAccelerated="false" 
android:largeHeap="true" 

但這些不建議,如果你正在建設一個高效存儲應用, 但這確實有效增加這些2號線到in to the application tag