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 架构梳理

时间: 2024-10-24 10:26:20

Android-Universal-Image-Loader 架构梳理的相关文章

Android Universal Image Loader 架构剖析

简介 Android Universal Image Loader简称UIL, 其github链接https://github.com/nostra13/Android-Universal-Image-Loader, 它用于Android应用中的图片加载(从网络,本地文件,或资源文件),本地缓存(内存和磁盘), 以及展示在ImageView中. 示例 整体框架 各模块的流程图 Task流程: 下载流程: decode流程: cache流程: 主要类图:

Android Universal Image Loader 使用

1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化ImageLoader,如下: public class YourApplication extends Application

Android Universal Image Loader java.io.FileNotFoundException: http:/xxx/lxx/xxxx.jpg

前段时间在使用ImageLoader异步加载服务端返回的图片时总是出现 java.io.FileNotFoundException: http://xxxx/l046/10046137034b1c0db0.jpg at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177) at com.nostra13.universalimageloader.core.download.URL

Android图片异步加载框架Universal Image Loader的源码分析

项目地址:https://github.com/nostra13/android-universal-image-loader 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化I

Android 使用Universal Image Loader绘制带圆角的图片(一)

Android 使用Universal Image Loader绘制带圆角的图片(一) 绘制带圆角的控件难吗?貌似不难.对于一个普通layout或者widget,要绘制圆角,只要把 background设置成下面这样的drawable就行了. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/and

Android中Universal Image Loader开源框架的简单使用

UIL (Universal Image Loader)aims to provide a powerful, flexible and highly customizable instrument for image loading, caching and displaying. It provides a lot of configuration options and good control over the image loading and caching process.(不知道

开源项目Universal Image Loader for Android 说明文档 (1) 简介

 When developing applications for Android, one often facesthe problem of displaying some graphical content from the Internet. So, youshould provide image loading from the Web in an Android app, their processingand displaying with limited memory aga

Local image caching solution for Android: Square Picasso vs Universal Image Loader

Local image caching solution for Android: Square Picasso vs Universal Image Loader http://stackoverflow.com/questions/19995007/local-image-caching-solution-for-android-square-picasso-vs-universal-image-load图片缓存库使用对比 question I need async image loadin

开源项目Universal Image Loader for Android 说明文档 (1) 简单介绍

 When developing applications for Android, one often facesthe problem of displaying some graphical content from the Internet. So, youshould provide image loading from the Web in an Android app, their processingand displaying with limited memory aga

【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50824912 相关地址介绍 : -- Universal Image Loader 项目 GitHub 官方地址 : https://github.com/nostra13/Android-Universal-Image-Loader . -- Universal Image Loader 项目完整中文注释版, 已经将所有类都进行了中文注释, 适合源码学习参