|
|
(同じ利用者による、間の1版が非表示) |
行1: |
行1: |
− | #Bitmapサイズを軽減する
| + | [[Android/OutOfMemory対策/基本]] |
− | // ビットマップ作成オブジェクトの設定
| + | |
− | 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イベントで解放させる
| + | |
| | | |
− | ==画像をリサイズさせる際の注意==
| + | [[Android/OutOfMemory対策/leakcanary]] |
− | #元画像ソースを解放する
| + | |
− | 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();
| + | |
− | }
| + | |
2020年9月18日 (金) 10:52時点における最新版
Android/OutOfMemory対策/基本
Android/OutOfMemory対策/leakcanary