天天看点

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

一个好的类库的重要特征就是可配置性强。我们先简单使用android-universal-image-loader,一般情况下使用默认配置就可以了。

下面的实例利用android-universal-image-loader将网络图片加载到图片墙中。

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

里面主要的对象都用        突出显示了。

imageloaderconfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。

imageloader是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayimage(...)、loadimage(...),但是其实最终他们的实现都是displayimage(...)。

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

从三者的协作关系上看,他们有点像厨房规定、厨师、客户个人口味之间的关系。imageloaderconfiguration就像是厨房里面的规定,每一个厨师要怎么着装,要怎么保持厨房的干净,这是针对每一个厨师都适用的规定,而且不允许个性化改变。imageloader就像是具体做菜的厨师,负责具体菜谱的制作。displayimageoptions就像每个客户的偏好,根据客户是重口味还是清淡,每一个imageloader根据displayimageoptions的要求具体执行。

在上面的示例代码中,我们使用imageloaderconfiguration的默认配置,下面给出imageloaderconfiguration比较详尽的配置,从下面的配置中,可以看出imageloaderconfiguration的配置主要是全局性的配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

imageloaderconfiguration的主要职责就是记录相关的配置,它的内部其实就是一些字段的集合(如下面的源代码)。它有一个builder的内部类,这个类中的字段跟imageloaderconfiguration中的字段完全一致,它有一些默认值,通过修改builder可以配置imageloaderconfiguration。

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

每一个<code>imageloader.displayimage(...)</code>都可以使用display options。

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

 display options的主要职责就是记录相关的配置,它的内部其实就是一些字段的集合(如下面的源代码)。它有一个builder的内部类,这个类中的字段跟displayoption中的字段完全一致,它有一些默认值,通过修改builder可以配置displayoptions。

Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解

参考链接

http://blog.csdn.net/wangjinyu501/article/details/8091623

https://github.com/nostra13/android-universal-image-loader

http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/p/3886563.html

继续阅读