标签:
Android基于universal-image-loader-1.9.4.jar的图片缓存。 
jar包可以去网上下载,其中封装了网络获取图片及在手机开辟缓存区域的方法,只需要做如下配置操作就可以使用。 
它的作用方式是这样的,如果手机连接网络,那么该组件会从网络获取图片并将图片写入缓存,如果没有连接网络,那么会从缓存区域获取已经加载的图片并显示出来。
一下是具体的配置和使用方式:
1:添加jar包,并添加依赖。
2:配置universal-image-loader,代码:
import com.inext.test.volleytest.R;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
/**
 * Created by Administrator on 2016/5/6.
 */
public class ImgLoaderUtil {
    private static DisplayImageOptions options =
            new DisplayImageOptions.Builder()
                    //下载时显示的图片
            .showImageOnLoading(R.mipmap.ic_launcher)
                    //下载错误时显示的图片
            .showImageOnFail(R.mipmap.ic_launcher)
                    //下载为空时显示的图片
            .showImageForEmptyUri(R.mipmap.ic_launcher)
                    //存储和硬盘
            .cacheInMemory(true)
            .cacheOnDisk(true)
            .bitmapConfig(Bitmap.Config.ARGB_8888)
                    //缩放类型
            .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
            //复位
            .resetViewBeforeLoading(true)
            .build();
    public static void display(String url,ImageView imageView){
        //此ImageLoader不是volley下的
        ImageLoader.getInstance().displayImage(url,imageView,options);
    }
public static void clear(){
    ImageLoader.getInstance().clearDiskCache();
    ImageLoader.getInstance().clearMemoryCache();
}
    public static void imageLoader(Context context){
        ImageLoaderConfiguration configuration =
                new ImageLoaderConfiguration.Builder(context)
                .denyCacheImageMultipleSizesInMemory()
                        //线程池推荐大小为3
                .threadPoolSize(3)
                        //线程优先级
                .threadPriority(Thread.NORM_PRIORITY)
                        //内存缓存大小
                .memoryCacheSize((int) (Runtime.getRuntime().maxMemory()/8))
                        //硬盘缓存大小
                .diskCacheSize(50*1024*1024)
                        //加密方式
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())
                        //默认设置
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
                .imageDownloader(new BaseImageDownloader(context,50000,50000))
                        //无限制缓存
                .diskCache(new UnlimitedDiskCache(FileUitlity.getInstance(context).makeDir("imgCache")))
                .build();
        ImageLoader.getInstance().init(configuration);
    }
}3:调用:
//初始化
ImgLoaderUtil.imageLoader(context);
//传入图片地址和要显示的imageview,系统会自动处理网络与缓存并加载显示图片
ImgLoaderUtil.display(url, img);标签:
原文地址:http://blog.csdn.net/little_shengsheng/article/details/51351408