ADAPTER 缓存图片

//内存缓存图片
    private final int maxMemory = (int) Runtime.getRuntime().maxMemory();// 获取当前应用程序所分配的最大内存
    private final int cacheSize = maxMemory / 5;// 只分5分之一用来做图片缓存
    private LruCache<String, Bitmap> mLruCache = new LruCache<String, Bitmap>(cacheSize) {
        @Override
        protected int sizeOf(String key, Bitmap bitmap) {// 复写sizeof()方法
            // replaced by getByteCount() in API 12
            return bitmap.getRowBytes() * bitmap.getHeight() / 1024; // 这里是按多少KB来算
        }
    };

 

任务中缓存后 调用方法

// 调用LruCache的put 方法将图片加入内存缓存中,要给这个图片一个key 方便下次从缓存中取出来
        private void addBitmapToMemoryCache(String key, Bitmap bitmap) {
            LogUtil.i(TAG, "addBitmapToMemoryCache"+"==="+key+"=======");
            if (getBitmapFromMemoryCache(key) == null) {
                lruCache.put(key, bitmap);
            }
        }
//取出对象
        public Bitmap getBitmapFromMemoryCache(String key) {
            return lruCache.get(key);
        }

 

posted @ 2016-05-09 17:13  海若初明  阅读(204)  评论(0编辑  收藏  举报