使用xUtils做图片下载缓存

首先需要下载xutils 的库

写一个工具类,封装相关的方法

下面的方法使用的是xutils的默认缓存配置,会在内存和disk上进行缓存,最大磁盘缓存50m

public class ImageUtils{

 /**
     * 给出图片的url和环境,从网上加载图片并显示在给出的imageView上
     * @param context 环境
     * @param imageView 控件
     * @param imageUrl 如http://bbs.lidroid.com/static/image/common/logo.png
     */
    public static void loadImageFromServerByUrl(Context context, ImageView imageView, String imageUrl) {
       
        getInstance(context).display(imageView, imageUrl);
    }



 /**
     * 从环境中获取com.lidroid.xutils.BitmapUtils的实例,并且是单例模式
     * @param context
     * @return
     */
    public static BitmapUtils getInstance(Context context) {
        if (SingletonHolder.INSTANCE == null) {//始终使用一个BitmapUtils的实例,以节省系统资源
            SingletonHolder.INSTANCE = new BitmapUtils(context);
        }
        SingletonHolder.INSTANCE.configDefaultLoadingImage(getDrawable(context, R.drawable.bg_default));//设置正在载入时显示的占位图片
        SingletonHolder.INSTANCE.configDefaultLoadFailedImage(getDrawable(context, R.drawable.bg_default));//设置加载图片失败后显示的占位图片
        return SingletonHolder.INSTANCE;
    }

    private static class SingletonHolder {
        static BitmapUtils INSTANCE = null;
    }
}

调用方法

ImageUtils.loadImageFromServerByUrl(MainActivity, imageView, "http://www.dfsf.com/sdfsadfsd.jpg");


你可能感兴趣的:(android,图片,imageview,控件)