Android/OutOfMemory対策/基本
提供: 初心者エンジニアの簡易メモ
- Bitmapサイズを軽減する
// ビットマップ作成オブジェクトの設定 BitmapFactory.Options bmfOptions = new BitmapFactory.Options(); // ARGBでそれぞれ0~127段階の色を使用 bmfOptions.inPreferredConfig = Bitmap.Config.ARGB_4444; // 画像を1/4サイズに縮小 bmfOptions.inSampleSize = 4;
- Bitmapを忘れずにonDestoryイベントで解放させる
- 作ったインスタンス(mLayerやmContextなど)をonDestoryイベントで解放させる
画像をリサイズさせる際の注意
- 元画像ソースを解放する
if (src != null) {
// Bitmapデータの解放
src.recycle();
src = null;
}
負荷のかかるところに書く
try {
Log.e("WallPaperSettings", (new StringBuilder("ERR:")).append(notfoundexception.toString()).toString());
} catch (OutOfMemoryError e) {
System.gc();
Log.e("WallPaperSettings", "OutOfMemoryError >> System.gc()");
e.printStackTrace();
}
