您的位置:首页 > 其它

关于imageloader的一些理解

2016-05-25 14:38 417 查看
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。最近翻了很多网上的博客,自己总结一下:Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration

三者的关系

ImageLoaderConfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。ImageLoader是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(...)、loadImage(...),但是其实最终他们的实现都是displayImage(...)。DisplayImageOptions用于指导每一个Imageloader根据网络图片的状态(空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,下载完后对图片进行怎么样的处理。DisplayImageOptions      用于设置图片显示的类。      1.此类的功能:
1     //设置图片在下载期间显示的图片
2     showStubImage(R.drawable.ic_launcher)
3
4     //设置图片Uri为空或是错误的时候显示的图片
5     showImageForEmptyUri(R.drawable.ic_empty)
6
7     //设置图片加载/解码过程中错误时候显示的图片
8     showImageOnFail(R.drawable.ic_error)
9
10     //设置图片在下载前是否重置,复位
11     resetViewBeforeLoading()
12
13     //设置下载的图片是否缓存在内存中
14     cacheInMemory()
15
16     //设置下载的图片是否缓存在SD卡中
17     cacheOnDisc()
18
19     //设置图片的解码类型
20     bitmapConfig(Bitmap.Config.RGB_565)
21
22     //设置图片的解码配置
23     decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)
24
25     //设置图片下载前的延迟
26     delayBeforeLoading(int delayInMillis)
27
28     //设置额外的内容给ImageDownloader
29     extraForDownloader(Object extra)
30
31     //设置图片加入缓存前,对bitmap进行设置
32     preProcessor(BitmapProcessor preProcessor)
33
34     //设置显示前的图片,显示后这个图片一直保留在缓存中
35     postProcessor(BitmapProcessor postProcessor)
36
37     //设置图片以如何的编码方式显示
38     imageScaleType(ImageScaleType imageScaleType)
2.此类的两种创建方式:
/**
* DisplayImageOptions 创建的两种方式。
*/
// 创建默认的DisplayImageOptions
DisplayImageOptions option_0 = DisplayImageOptions.createSimple();

// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
DisplayImageOptions option_1 = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_error)
.showImageForEmptyUri(R.drawable.ic_empty).cacheInMemory()
.cacheOnDisc().displayer(new RoundedBitmapDisplayer(20))
.build();
3.类中的方法使用:
/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
         SimpleBitmapDisplayer()正常显示一张图片  
   
/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整
使用时还要配置一下对应的参数在应用中配置ImageLoaderConfiguration参数(只能配置一次,如多次配置,则默认第一次的配置参数)使用默认设置?
自己配置参数?
4、图片显示操作a、首先要得到ImageLoader的实例(使用的单例模式)?
注:在每个显示任务(布局中都需实例化才能进行相关操作b、相关显示参数配置?
c、显示图片?
参数解析:?
参考链接 http://www.cnblogs.com/kissazi2/p/3886563.html http://www.tuicool.com/articles/2yYfiy http://www.2cto.com/kf/201412/361295.html http://hunankeda110.iteye.com/blog/1897961
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: