|
|
| (同じ利用者による、間の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