Android - java.lang.OutOfMemoryError 錯誤排除

Android - java.lang.OutOfMemoryError 錯誤排除

雖然不知道什麼特殊原因,

經常發生java.lang.OutOfMemoryError的狀況

但經過兩次版本比較之後,

在第二個版本的AndroidManifest.xml的<application>加上了

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

則就解決了這個問題,後臺再也收不到類似的Exception了。

雖然真正原因,可能是在Gallery 載入 圖片時檔案處理過大的問題(原圖可能使用過大)

但也經過了一些些調整。

可以參考

http://dean-android.blogspot.tw/2013/04/androidgallery.html

在底下的評論中,有如何圖片縮放調整,避免記憶體的浪費。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inPurgeable = true;
options.inInputShareable = true;
options.inSampleSize = 2;

Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mPics[position % mPics.length], options);
img.setImageBitmap(mBitmap);