您的位置:首页 > 其它

ImageLoader 介绍

2016-09-17 14:22 411 查看
ImageLoaderConfiguration:是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。

DisplayImageOptions:用于指导每一个Imageloader根据网络图片的状态(空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,下载完后对图片进行怎么样的处理。

ImageLoader:是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(…)、loadImage(…),但是其实最终他们的实现都是displayImage(…)。

ImageLoaderConfiguration

ImageLoader imageLoader = ImageLoader.getInstance();

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())

.memoryCacheExtraOptions(480, 800) // 内存缓存图片的最大宽高

.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75) // 图片处理器,负责从磁盘缓存读取或写入前对图片进行处理

.threadPoolSize(3)//线程池数

.threadPriority(Thread.NORM_PRIORITY - 1)//线程优先级

.denyCacheImageMultipleSizesInMemory()/设置在内存中缓存图像的多种尺寸//加载同一URL图片时,imageView从小变大时,从内存缓存中加载 //不建议使用

.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // 超过设定的缓存大小时,内存缓存的清除机制

.discCache(new UnlimitedDiscCache(cacheDir)) //超过设定的缓存大小时,磁盘缓存的清除机制.discCacheFileNameGenerator(new HashCodeFileNameGenerator())//磁盘缓存的文件名的命名方式//一般使用默认值 (获取文件名称的hashcode然后转换成字符串)或MD5   new Md5FileNameGenerator()源文件的名称同过md5加密后保存

.defaultDisplayImageOptions(DisplayImageOptions.createSimple())

.enableLogging()//开启ImageLoader工作日志
.memoryCacheSize(100)//最大缓存大小//默认值,应用程序可用内存的1/8。
.build();
imageLoader.init(config);

//完全退出程序时
ImageLoader.getInstance().clearDiskCache();//清除磁盘缓存
ImageLoader.getInstance().clearMemoryCache();//清除内存缓存


DisplayImageOptions

DisplayImageOptions options = new DisplayImageOptions.Builder()

.showImageOnLoading(R.drawable.loading) //设置图片在下载期间显示的图片

.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片

.showImageOnFail(R.drawable.error)  //设置图片加载/解码过程中错误时候显示的图片

.cacheInMemory(true)//设置下载的图片是否缓存在内存中

.cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中

.considerExifParams(true)  //是否考虑JPEG图像EXIF参数(旋转,翻转)

.imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存

.delayBeforeLoading(0)//int delayInMillis为你设置的下载前的延迟时间

.resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位

.displayer(new RoundedBitmapDisplayer(20))//不推荐用!!!!是否设置为圆角,弧度为多少//他会创建新的ARGB_8888格式的Bitmap对象;

.displayer(new FadeInBitmapDisplayer(100))//图片加载好后渐入的动画时间,可能会出现闪动

.build();//构建完成


DisplayImageOptions

DisplayImageOptions options = new DisplayImageOptions.Builder()

.showImageOnLoading(R.drawable.loading) //设置图片在下载期间显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片

.showImageOnFail(R.drawable.error)  //设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory(true)//设置下载的图片是否缓存在内存中
.cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型
.build();//构建完成

ImageScaleType.EXACTLY :图像将完全按比例缩小的目标大小

ImageScaleType.EXACTLY_STRETCHED:图片会缩放到目标大小完全

ImageScaleType.IN_SAMPLE_INT:图像将被二次采样的整数倍

ImageScaleType.IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
ImageScaleType.NONE:图片不会调整
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: