Android网络编程五:(7)Volley之ImageCache

来源:互联网 发布:双十一数据调查报告 编辑:程序博客网 时间:2024/05/16 04:03
public class LruImageCache implements ImageLoader.ImageCache {    private static LruCache<String, Bitmap> mMemoryCache;    private static LruImageCache lruImageCache;    private LruImageCache(){        // Get the Max available memory        int maxMemory = (int) Runtime.getRuntime().maxMemory();        int cacheSize = maxMemory / 8;        mMemoryCache = new LruCache<String, Bitmap>(cacheSize){            @Override            protected int sizeOf(String key, Bitmap bitmap){                return bitmap.getRowBytes() * bitmap.getHeight();            }        };    }    public static LruImageCache instance(){        if(lruImageCache == null){            lruImageCache = new LruImageCache();        }        return lruImageCache;    }    @Override    public Bitmap getBitmap(String url) {        return mMemoryCache.get(url);    }    @Override    public void putBitmap(String url, Bitmap bitmap) {        if(getBitmap(url) == null){            mMemoryCache.put(url, bitmap);        }    }}
0 0