// 图片缓存的全局配置,要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
// 内存缓存图片的最大宽高
builder.memoryCacheExtraOptions(480, 800);
// 线程池数
builder.threadPoolSize(3);
// 线程优先级
builder.threadPriority(Thread.NORM_PRIORITY + 1);
// 设置在内存中缓存图像的多种尺寸
// 加载同一URL图片时,imageView从小变大时,从内存缓存中加载
// 不建议使用
builder.denyCacheImageMultipleSizesInMemory();
// 超过设定的缓存大小时,内存缓存的清除机制
builder.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024));
// 超过设定的缓存大小时,磁盘缓存的清除机制
File cacheDir = new File("/mnt/sdcard/cache/");
// builder.discCache(new UnlimitedDiskCache(cacheDir));
//builder.diskCache(new UnlimitedDiskCache(cacheDir));
// 磁盘缓存的文件名的命名方式,一般使用默认值 (获取文件名称的hashcode然后转换成字符串)
// builder.discCacheFileNameGenerator(new HashCodeFileNameGenerator());
// MD5-new Md5FileNameGenerator()源文件的名称同过md5加密后保存
builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());
// 最大缓存大小.默认值应用程序可用内存的1/8。
builder.memoryCacheSize(100);
开启ImageLoader工作日志
builder.writeDebugLogs();
// 图片处理器,负责从磁盘缓存读取或写入前对图片进行处理
builder.diskCacheExtraOptions(480, 800, null);
DisplayImageOptions.Builder optionsBuilder = new DisplayImageOptions.Builder();
// 设置图片在下载期间显示的图片
optionsBuilder.showImageOnLoading(R.drawable.dengdai);
// 设置图片Uri为空或是错误的时候显示的图片
optionsBuilder.showImageForEmptyUri(R.drawable.ic_launcher);
// 设置图片加载/解码过程中失败时候显示的图片
optionsBuilder.showImageOnFail(R.drawable.ic_launcher);
// 设置下载的图片是否缓存在内存中
optionsBuilder.cacheInMemory(true);
// 设置下载的图片是否缓存在SD卡中
optionsBuilder.cacheOnDisk(true);
// 是否考虑JPEG图像EXIF参数(旋转,翻转)
optionsBuilder.considerExifParams(true);
// 设置图片以如何的编码方式显示
optionsBuilder.imageScaleType(ImageScaleType.EXACTLY_STRETCHED);
// 设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存
optionsBuilder.bitmapConfig(Bitmap.Config.RGB_565);
// 为你设置的下载前的延迟时间
optionsBuilder.delayBeforeLoading(0);
// 设置图片在下载前是否重置,复位
optionsBuilder.resetViewBeforeLoading(true);
// 不推荐用!!!!是否设置为圆角,弧度为多少
// 他会创建新的ARGB_8888格式的Bitmap对象
//optionsBuilder.displayer(new RoundedBitmapDisplayer(20));
//optionsBuilder.displayer(new CircleBitmapDisplayer(Color.WHITE, 5));
// 图片加载好后渐入的动画时间,可能会出现闪动,duration时间
// optionsBuilder.displayer(new FadeInBitmapDisplayer(100));
// 构建完成
DisplayImageOptions options = optionsBuilder.build();
// 设置默认的DisplayImageOptions
builder.defaultDisplayImageOptions(options);
// 获取ImageLoaderConfiguration对象
ImageLoaderConfiguration configuration = builder.build();
// 创建ImageLoader实例
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(configuration);
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
// 内存缓存图片的最大宽高
builder.memoryCacheExtraOptions(480, 800);
// 线程池数
builder.threadPoolSize(3);
// 线程优先级
builder.threadPriority(Thread.NORM_PRIORITY + 1);
// 设置在内存中缓存图像的多种尺寸
// 加载同一URL图片时,imageView从小变大时,从内存缓存中加载
// 不建议使用
builder.denyCacheImageMultipleSizesInMemory();
// 超过设定的缓存大小时,内存缓存的清除机制
builder.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024));
// 超过设定的缓存大小时,磁盘缓存的清除机制
File cacheDir = new File("/mnt/sdcard/cache/");
// builder.discCache(new UnlimitedDiskCache(cacheDir));
//builder.diskCache(new UnlimitedDiskCache(cacheDir));
// 磁盘缓存的文件名的命名方式,一般使用默认值 (获取文件名称的hashcode然后转换成字符串)
// builder.discCacheFileNameGenerator(new HashCodeFileNameGenerator());
// MD5-new Md5FileNameGenerator()源文件的名称同过md5加密后保存
builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());
// 最大缓存大小.默认值应用程序可用内存的1/8。
builder.memoryCacheSize(100);
开启ImageLoader工作日志
builder.writeDebugLogs();
// 图片处理器,负责从磁盘缓存读取或写入前对图片进行处理
builder.diskCacheExtraOptions(480, 800, null);
DisplayImageOptions.Builder optionsBuilder = new DisplayImageOptions.Builder();
// 设置图片在下载期间显示的图片
optionsBuilder.showImageOnLoading(R.drawable.dengdai);
// 设置图片Uri为空或是错误的时候显示的图片
optionsBuilder.showImageForEmptyUri(R.drawable.ic_launcher);
// 设置图片加载/解码过程中失败时候显示的图片
optionsBuilder.showImageOnFail(R.drawable.ic_launcher);
// 设置下载的图片是否缓存在内存中
optionsBuilder.cacheInMemory(true);
// 设置下载的图片是否缓存在SD卡中
optionsBuilder.cacheOnDisk(true);
// 是否考虑JPEG图像EXIF参数(旋转,翻转)
optionsBuilder.considerExifParams(true);
// 设置图片以如何的编码方式显示
optionsBuilder.imageScaleType(ImageScaleType.EXACTLY_STRETCHED);
// 设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存
optionsBuilder.bitmapConfig(Bitmap.Config.RGB_565);
// 为你设置的下载前的延迟时间
optionsBuilder.delayBeforeLoading(0);
// 设置图片在下载前是否重置,复位
optionsBuilder.resetViewBeforeLoading(true);
// 不推荐用!!!!是否设置为圆角,弧度为多少
// 他会创建新的ARGB_8888格式的Bitmap对象
//optionsBuilder.displayer(new RoundedBitmapDisplayer(20));
//optionsBuilder.displayer(new CircleBitmapDisplayer(Color.WHITE, 5));
// 图片加载好后渐入的动画时间,可能会出现闪动,duration时间
// optionsBuilder.displayer(new FadeInBitmapDisplayer(100));
// 构建完成
DisplayImageOptions options = optionsBuilder.build();
// 设置默认的DisplayImageOptions
builder.defaultDisplayImageOptions(options);
// 获取ImageLoaderConfiguration对象
ImageLoaderConfiguration configuration = builder.build();
// 创建ImageLoader实例
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(configuration);