AndroidアプリでBitmapオブジェクトがつかんだリソースを離さないとメモリリークにつながるので、resycle()メソッドで解放する必要があります。
ディスプレイサイズに合わせてビットマップを作成する方法も含めて、使い方は次のようになります。
Display display = getWindowManager().getDefaultDisplay(); displayWidth = display.getWidth(); displayHeight = display.getHeight(); if (bitmap != null) { bitmap.recycle(); bitmap = null; } Bitmap original = BitmapFactory.decodeFile(myFile); bitmap = Bitmap.createScaledBitmap(original, displayWidth, displayHeight, true); original.recycle(); original = null;
メモリリークを確認するには、「long free = Runtime.getRuntime().freeMemory(); 」のようにして調べます。Bitmap以外にもメモリリークはするようなので、気をつけましょう。Activity終了時に、Viewへ登録されているイメージなどのクリアのために、view.setImageDrawable(null)などとしておくと安全です。