Bitmapを使っているときにOut of Memoryエラーが発生
(何回か実行しているうちに、Heapが足りなくなってエラー)
ネットであちこち探しまわったが、結局解決策はない。
bitmap.recyle();
bitmap = null;
をやってもだめ。
GCは当てにならないらしい。
System.gc();をやってもだめ。
結局、bitmapのサイズをできるだけ小さくするしかない。
Cameraを使っているなら、PictureSizeを小さくする。
params.setPictureSize(800,600);
画像ファイルを使うなら、縮小する
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 2; // サイズ縮小
Bitmap bitmap = BitmapFactory.decodeFile(file,opts);
ManifestでHeapサイズを大きくする
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
(ただしこれはエラーの発生を遅らせるだけだが)
これ以外、現在打つ手なし。
0 件のコメント:
コメントを投稿