ImageLoader 的简单使用配置,最好是将配置信息放到application里面,这样我们就不需要每次使用都需要配置了
1、首先我们得有一个包
2、简单的配置信息
//显示图片的配置
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ofm_photo_icon) //下载时显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher) //设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.main_head_erroy_loader) //下载 错误 显示的图片
.cacheInMemory(true) //加入 到缓存
.cacheOnDisk(true) //写入 内存卡
.bitmapConfig(Bitmap.Config.RGB_565) //图片清晰度
.imageScaleType(ImageScaleType.EXACTLY) //设置图片以如何的编码方式显示
.build();
cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(),getPackageName()+"/imageCatch");//设置缓存的路径
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(getApplicationContext())
.memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
.threadPoolSize(3)//线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
//设置内存缓存的大小为手机运行内存的 1/8
.memoryCacheSize((int) Runtime.getRuntime().maxMemory() / 8)
.diskCacheSize(10 * 1024 * 1024) //缓存大小 10M
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) //将保存的时候的URI名称用 加密
.tasksProcessingOrder(QueueProcessingType.LIFO)
.diskCacheFileCount(100) //缓存的文件数量
.diskCache(new UnlimitedDiskCache(cacheDir)) //自定义缓存路径
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.imageDownloader(new BaseImageDownloader(getApplicationContext(), 5 * 1000, 30 * 1000)) // connectTimeout (30 s), readTimeout (30 s)超时时间
.defaultDisplayImageOptions(options)
// .writeDebugLogs() // Remove for release app
.build(); //开始构建
//初始化ImageLoader
ImageLoader.getInstance().init(config);
3、使用ImageLoader
第一个参数为图片的Url,第二个参数为显示图片的ImageView。
//网络请求加载图片
ImageLoader.getInstance().displayImage(newsList.get(position).getImg(), imageView);
若显示的图片配置信息和application配置的不同,可以自己再次另行设置
private void loadImage(ImageView imageView,int position){
//显示图片的配置
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ofm_photo_icon) //下载时显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher) //设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.card_photofail) //下载 错误 显示的图片
.cacheInMemory(true) //加入 到缓存
.cacheOnDisk(true) //写入 内存卡
.bitmapConfig(Bitmap.Config.RGB_565) //图片清晰度
.imageScaleType(ImageScaleType.EXACTLY) //设置图片以如何的编码方式显示
.build();
//网络请求加载图片
ImageLoader.getInstance().displayImage(newsList.get(position).getImg(), imageView, options);
}