ImageLoader 常用代码块

来源:互联网 发布:js自动触发a 标签事件 编辑:程序博客网 时间:2024/06/07 04:00

这里写图片描述
ImageLoader 作为加载图片的第三方库,有一些常用代码块
1.清空过期磁盘缓存
UilImageLoaderHelper.java

@Overridepublic void clearExpiredDiskCaches() {    ExecutorUtils.execute(new Runnable() {        @Override        public void run() {            synchronized (UilImageLoaderHelper.class) {                for (Map.Entry<String, Long> entry : imagesExpirationMap.entrySet()) {                    if (System.currentTimeMillis() > entry.getValue()) {                        DiskCacheUtils.removeFromCache(entry.getKey(), ImageLoader.getInstance().getDiskCache());                        sharedPreferencesHelper.removePreferences(entry.getKey());                        imagesExpirationMap.remove(entry.getKey());                    }                }            }        }    });}

2.从本地缓存获得图片

public static Bitmap getBitmapFromCache(String uri, int width, int height) {    if (TextUtils.isEmpty(uri)) {        return null;    }    boolean cached = true;    ImageDownloader.Scheme scheme = ImageDownloader.Scheme.ofUri(uri);    if (scheme == ImageDownloader.Scheme.HTTP || scheme == ImageDownloader.Scheme.HTTPS || scheme ==            ImageDownloader.Scheme.UNKNOWN) {        // non local resource        cached = MemoryCacheUtils.findCachedBitmapsForImageUri(uri, ImageLoader.getInstance()                .getMemoryCache()).size() > 0 || DiskCacheUtils.findInCache(uri, ImageLoader.getInstance()                .getDiskCache()) != null;    }    if (cached) {        Bitmap bitmap = ImageLoader.getInstance().loadImageSync(uri, new ImageSize(width, height));        if (bitmap == null) {            LogUtil.e(TAG, "load cached image failed, uri =" + uri);        }        return bitmap;    }    return null;}

参考文献
Java Code Examples for com.nostra13.universalimageloader.utils.DiskCacheUtils

原创粉丝点击