imageLoader缓存

// 图片缓存的全局配置,要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置
        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);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值