Android 使用LruCache缓存图像

Android 使用LruCache缓存图像,android,android-lru-cache,Android,Android Lru Cache,我试图在android中使用LruCache来缓存一些图像,但它不是缓存 这是密码 int cacheSize1 = 4 * 1024 * 1024; // 4MiB bitmapCache = new LruCache(cacheSize1) { protected int sizeOf(String key, Bitmap value) { return value.getRowBytes() * value.getHeight();

我试图在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);

            }

        }
for(int i=0;i
参考此,这是一个Google I/O示例项目,用于解释如何使用
LRU缓存