Universal-Image-Loader全然解析
相信大家平时做Android应用的时候,多少会接触到异步载入图片,或者载入大量图片的问题,而载入图片我们经常会遇到很多的问题,比方说图片的错乱。OOM等问题,对于新手来说,这些问题解决起来会比較吃力,所以就有非常多的开源图片载入框架应运而生。比較著名的就是Universal-Image-Loader。相信非常多朋友都听过或者使用过这个强大的图片载入框架,今天这篇文章就是对这个框架的基本介绍以及使用,主要是帮助那些没有使用过这个框架的朋友们。该项目存在于Github上面https://github.com/hgl888/Android-Universal-Image-Loader。我们能够先看看这个开源库存在哪些特征
- 多线程下载图片。图片能够来源于网络,文件系统。项目目录assets中以及drawable中等
- 支持任意的配置ImageLoader,比如线程池。图片下载器,内存缓存策略,硬盘缓存策略。图片显示选项以及其它的一些配置
- 支持图片的内存缓存,文件系统缓存或者SD卡缓存
- 支持图片下载过程的监听
- 依据控件(ImageView)的大小对Bitmap进行裁剪,降低Bitmap占用过多的内存
- 较好的控制图片的载入过程,比如暂停图片载入,又一次開始载入图片。一般使用在ListView,GridView中,滑动过程中暂停载入图片,停止滑动的时候去载入图片
- 提供在较慢的网络下对图片进行载入
当然上面列举的特性可能不全,要想了解一些其它的特性仅仅能通过我们的使用慢慢去发现了,接下来我们就看看这个开源库的简单使用吧
新建一个Android项目,下载JAR包加入到projectlibs文件夹下
新建一个MyApplication继承Application,并在onCreate()中创建ImageLoader的配置參数,并初始化到ImageLoader中代码例如以下
- package com.example.uil;