Android——universal-imageloader开源库的使用

本文介绍了Android的Universal-Image-Loader开源库,用于图像加载处理。库特性包括多线程加载、高度定制配置、内存及文件缓存等。使用步骤包括下载库文件、导入jar包、初始化配置和调用displayImage方法显示图片。提供了默认配置、自定义配置及监听加载状态的使用方式。
摘要由CSDN通过智能技术生成

该开源库是一个用于图像加载处理的项目,项目的下载地址为:
https://github.com/nostra13/Android-Universal-Image-Loader

该库的特征有:

  • 多线程图片加载(异步或者同步)
  • 高度定制图片加载的相关配置(例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置)
  • 支持图片的内存缓存,文件系统缓存或者SD卡缓存
  • 可以监听加载的过程(包括下载过程)

下面开始简单讲介绍该库的使用:
1.首先在上面提供的地址中下载库文件
2.在android studio的项目中导入jar包:我下载下来的文件有三个jar包分别是,universal-image-loader-1.9.5.jar,universal-image-loader-1.9.5-javadoc.jar,universal-image-loader-1.9.5-sources.jar,只需要导入第一个universal-image-loader-1.9.5.jar包。
3.在项目启动的时候初始化ImageLoader的配置。在这里编写了一个BaseApplication 继承自Application。在onCreate()函数中初始化ImageLoader相关配置:、

//在oncreate函数中调用
 Context context=getApplicationContext();
 init(context);

//init函数
public void init(Context context){
        //设置缓存的目录
        File cacheDir= StorageUtils.getOwnCacheDirectory(context,"imageLoader/Cache");
        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(context)
                .memoryCacheExtraOptions(400,400)//保存为文件的最大宽高
                .threadPoolSize(3)//线程池加载数
                .threadPriority(Thread.NORM_PRIORITY-2)//设置线程的优先级
                .denyCacheImageMultipleSizesInMemory()//不缓存不同大小的同一图像
                .memoryCache(new UsingFreqLimitedMemoryCache(2*1024*1024))//缓存的最大字节
                // .memoryCacheSize(2*1024*1024)
                .diskCacheSize(50*1024*1024)
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())//保存文件名用hash加密
                // .diskCacheFileNameGenerator(new Md5FileNameGenerator())//用MD5加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值