AndroidでLruCacheを使用して一部の画像をキャッシュしようとしていますが、キャッシュされません
これがコードです
int cacheSize1 = 4 * 1024 * 1024; // 4MiB
bitmapCache = new LruCache(cacheSize1) {
protected int sizeOf(String key, Bitmap value) {
return value.getRowBytes() * value.getHeight();
}};
ここで他の方法
public void addBitmapToMemoryCache(String key, Bitmap bitmap) {
if (getBitmapFromMemCache(key) == null) {
bitmapCache.put(key, bitmap);
}
}
public Bitmap getBitmapFromMemCache(String key) {
Bitmap b = (Bitmap)bitmapCache.get(key);
return b;
}
ここで私はそれらを使用していますこれは私のコードです
for (int i = 0; i < HomeActivity.globalObj.categoriesList.size(); i++) {
ImageView iv = new ImageView(getApplicationContext());
Bitmap bb = getBitmapFromMemCache(HomeActivity.globalObj.categoriesList.get(i).name);
if (bb != null) {
iv.setImageBitmap(bb);
imageViewList.add(iv);
}
else{
Bitmap b = getImageBitmap(HomeActivity.globalObj.categoriesList.get(i).large_image);
addBitmapToMemoryCache(HomeActivity.globalObj.categoriesList.get(i).name, b);
iv.setImageBitmap(b);
imageViewList.add(iv);
}
}