0

ビットマップを次のようにハッシュマップに入れました。

HashMap<String, SoftReference<Bitmap>> imageMap = new HashMap<String, SoftReference<Bitmap>>();

....

bitmap = BitmapFactory.decodeStream(inputstream);

imageMap.put(String.valueOf(i), new SoftReference<Bitmap>(bitmap)); 

そして、毎回インクリメントし、ビットマップも取得しています。

次の方法でビットマップを取得します。

SoftReference<Bitmap> setValue = imageMap.get(String.valueOf(count));

Bitmap bitmap=setValue.get(); 

毎回カウントをインクリメントしますが、特定のカウントのビットマップのみを取得します。ハッシュマップからすべてのビットマップを取得するにはどうすればよいですか?

4

1 に答える 1

0

SoftReference は、オブジェクトがメモリに留まることを保証しないため、ビットマップに対して null を受け取った場合は、それを再度デコードして HashMap に入れる必要があります。

于 2013-03-01T06:51:10.367 に答える