2013-03-09 64 views
0

我正在致力於基於大量位圖的應用程序,現在問題在於,在應用程序測試期間,我在某些設備上運行時異常。基於位圖的應用程序運行時間VM預算異常

這可能是由於位圖大小超過了VM預算。

現在的問題是,我不能減少在Application.so中使用位圖什麼是可能的解決方案。

我曾嘗試下面的鏈接,但沒有成功。

http://voices.yahoo.com/android-virtual-machine-vm-out-memory-error-7342266.html

請幫助我。

+4

發佈導致問題的代碼分支 – DjHacktorReborn 2013-03-09 05:45:56

回答

1
This Happens because calling invalidate() just redraw same bitmaps on to the canvas.. 
use garbage collector just try to free memory when these bitmap getting overdraw this 
might help you...:-) 
0

您可以嘗試使用不同的位圖config加載位圖。這可以通過選擇不同的配置文件來幫助減小堆中加載的位圖對象的大小。例如,如果您不需要保留alpha值,請使用RGB565 config。

Recyle bitmap;看看this,這是一個很好的閱讀。

您可以在清單文件中指定

android:largeHeap="true" 

。這將爲應用程序提供更多堆棧,但前提是可能。可用表單API 11以上。

您也可以嘗試向用戶顯示縮小版本,並允許任何操作(如默認圖庫查看器應用程序所做的操作)。

此外,請檢查您所得到的是「由於位圖超出的VM預算」問題,因爲您自己並不確定。

相關問題