アセットから画像を取得し、imageView に割り当てています。すべて正常に動作しますが、同じページを何度もロードするとヒープ メモリ サイズが増え続けます。以下は、アセット フォルダーから画像を取得するために使用しているコードです。
private Bitmap getBitmapFromAsset(String strName) throws IOException
{
AssetManager assetManager = getAssets();
InputStream istr = assetManager.open(strName);
Bitmap bitmap = BitmapFactory.decodeStream(istr);
return bitmap;
}
//Code to assign bitmap to imageview
ImageView itemImage = (ImageView) findViewById(R.id.itemImage);
try {
Bitmap bm = getBitmapFromAsset("full/" + Uri.parse(menuItem.getFullImage()).getLastPathSegment());
itemImage.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
これが私がやっていることのすべてです。ビットマップをリサイクルする必要がある場所はありますか?