Android-Universal-Image-Loader 架构梳理

源码地址:点击打开链接

Android-Universal-Image-Loader的广泛使用,我们有必要好好研究下他,对于我们使用,和进步都有很多的帮助,


从架构图上看,该项目分为五大部分。

1、Displayer,显示图片模块。这部分主要作用显示图片的,包括好几种显示图片的方式,如切边显示图片等。

通过调用display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom);

2、Assist Classes,这部分是帮助类模块。主要是一些枚举类、存放任务的Queue,等一些帮助类

3、ImageLoader,这个部分的主要作用是初始化的一些设置和给用户的接口,

4、DisplayTask,显示任务模块。该类是一个线程,负责调用Displayer的display方法去显示图片

5,LoadTask,加载任务模块。该类也是一个线程,负责启动加载和下载图片线程。

6、Downloader,下载任务模块,该模块是负责下载的,网络连接通过两种方式,一个是HttpClient,一个是HttpURLConnection,前者是apache封装的一个类,会保存cookie等信息,支持需要校验用户登录信息的后台服务,后者则不支持,该模块还包括网络慢时候的处理和网络连接失败时候的处理。

7、cache,缓存模块,该模块包括本地缓存和内存缓存,缓存大小的设置在ImageLoader的初始化方法中进行。

8、Decode,解码模块。该模块是对图片进行解码的模块,根据inputstream获取bitmap。

以上的这么多模块,都是面向接口编程的,先定义接口,再针对不同的业务需求添加实现类。


Android-Universal-Image-Loader 架构梳理,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。