# ![Logo](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/sample/res/drawable-mdpi/ic_launcher.png) Universal Image Loader for Android
This project aims to provide a reusable instrument for asynchronous image loading, caching and displaying. It is originally based on [Fedor Vlasov's project](https://github.com/thest1/LazyList) and has been vastly refactored and improved since then.
![Screenshot](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/UniversalImageLoader.png)
## Features
* Multithread image loading
* Possibility of wide tuning ImageLoader's configuration (thread executors, downlaoder, decoder, memory and disc cache, display image options, and others)
* Possibility of image caching in memory and/or on device's file sysytem (or SD card)
* Possibility to "listen" loading process
* Possibility to customize every display image call with separated options
* Widget support
Android 2.0+ support
## Downloads
* **[universal-image-loader-1.8.4.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.8.4.jar)** (library; contains *.class files)
* **[universal-image-loader-1.8.4-sources.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.8.4-sources.jar)** (sources; contains *.java files)
* **[universal-image-loader-1.8.4-javadoc.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.8.4-javadoc.jar)** (Java docs; contains *.html files)
* **[universal-image-loader-1.8.4-with-sources.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.8.4-with-sources.jar)** (library with sources inside; contains *.class and *.java files)<br />_Prefer to use this JAR so you can see Java docs in Eclipse tooltips._
* **[universal-image-loader-sample-1.8.4.apk](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-sample-1.8.4.apk)** (sample application)
Latest snapshot of the library - **[here](https://github.com/nostra13/Android-Universal-Image-Loader/tree/master/sample/libs)**
## Documentation*
* Universal Image Loader. Part 1 - Introduction [[RU](http://nostra13android.blogspot.com/2012/03/4-universal-image-loader-part-1.html) | [EN](http://www.intexsoft.com/blog/item/68-universal-image-loader-part-1.html)]
* Universal Image Loader. Part 2 - Configuration [[RU](http://nostra13android.blogspot.com/2012/03/5-universal-image-loader-part-2.html) | [EN](http://www.intexsoft.com/blog/item/72-universal-image-loader-part-2.html)]
* Universal Image Loader. Part 3 - Usage [[RU](http://nostra13android.blogspot.com/2012/03/6-universal-image-loader-part-3-usage.html) | [EN](http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html)]
(*) a bit outdated
### [Changelog](https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/CHANGELOG.md)
### User Support
1. Look into **[Useful Info](https://github.com/nostra13/Android-Universal-Image-Loader#useful-info)**
2. Search problem solution on **[StackOverFlow](http://stackoverflow.com/questions/tagged/universal-image-loader)**
3. Ask your own question on **[StackOverFlow](http://stackoverflow.com/questions/tagged/universal-image-loader)**.<br />
Be sure to mention following information in your question:
- UIL version (e.g. 1.8.4)
- Android version tested on (e.g. 2.1)
- your configuration (`ImageLoaderConfiguration`)
- display options (`DisplayImageOptions`)
- `getView()` method code of your adapter (if you use it)
- XML layout of your ImageView you load image into
**Bugs** and **feature requests** put **[here](https://github.com/nostra13/Android-Universal-Image-Loader/issues/new)**.<br />
If you have some **issues on migration** to newer library version - be sure to ask for help **[here](https://github.com/nostra13/Android-Universal-Image-Loader/issues/169)**
## Quick Setup
#### 1. Include library
**Manual:**
* [Download JAR](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.8.4-with-sources.jar)
* Put the JAR in the **libs** subfolder of your Android project
or
**Maven dependency:**
``` xml
<dependency>
<groupId>com.nostra13.universalimageloader</groupId>
<artifactId>universal-image-loader</artifactId>
<version>1.8.4</version>
</dependency>
```
#### 2. Android Manifest
``` xml
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<!-- Include next permission if you want to allow UIL to cache images on SD card -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
<application android:name="MyApplication">
...
</application>
</manifest>
```
### 3. Application class
``` java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Create global configuration and initialize ImageLoader with this configuration
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
...
.build();
ImageLoader.getInstance().init(config);
}
}
```
## Configuration and Display Options
* ImageLoader **Configuration (`ImageLoaderConfiguration`) is global** for application.
* **Display Options (`DisplayImageOptions`) are local** for every display task (`ImageLoader.displayImage(...)`).
### Configuration
All options in Configuration builder are optional. Use only those you really want to customize.<br />*See default values for config options in Java docs for every option.*
``` java
// DON'T COPY THIS CODE TO YOUR PROJECT! This is just example of ALL options using.
File cacheDir = StorageUtils.getCacheDirectory(context);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.memoryCacheExtraOptions(480, 800) // default = device screen dimensions
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75)
.taskExecutor(...)
.taskExecutorForCachedImages(...)
.threadPoolSize(3) // default
.threadPriority(Thread.NORM_PRIORITY - 1) // default
.tasksProcessingOrder(QueueProcessingType.FIFO) // default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
.memoryCacheSize(2 * 1024 * 1024)
.discCache(new UnlimitedDiscCache(cacheDir)) // default
.discCacheSize(50 * 1024 * 1024)
.discCacheFileCount(100)
.discCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default
.imageDownloader(new BaseImageDownloader(context)) // default
.imageDecoder(new BaseImageDecoder()) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
.enableLogging()
.build();
```
### Display Options
Display Options can be applied to every display task (`ImageLoader.displayImage(...)` call).
**Note:** If Display Options wasn't passed to `ImageLoader.displayImage(...)`method then default Display Options from configuration (`ImageLoaderConfiguration.defaultDisplayImageOptions(...)`) will be used.
``` java
// DON'T COPY THIS CODE TO YOUR PROJECT! This is just example of ALL options using.
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_stub)
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_error)
.resetViewBeforeLoading()
.delayBeforeLoading(1000)
.cacheInMemory()
.cacheOnDisc()
.preProcessor(...)
.postProcessor(...)
.extraForDownloader(...)
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default
.bitmapConfig(Bitmap.Config.ARGB_8888) // default
.decodingOptions(...)
.displayer(new SimpleBitmapDisplayer()) // default
.handler(new Handler()) // default
.build();
```
## Usage
### Acceptable URIs examples
``` java
String imageUri = "http://site.com/image.png"; // from Web
String imageUri = "file:///mnt/sdcard/image.png"; // from SD card
String imageUri
没有合适的资源?快使用搜索试试~ 我知道了~
Android图片异步加载大全
共128个文件
java:76个
xml:19个
png:18个
4星 · 超过85%的资源 需积分: 6 9 下载量 86 浏览量
2013-06-20
09:24:10
上传
评论
收藏 3.22MB ZIP 举报
温馨提示
Android 异步加载图片的demo 包括listview gridview gallery等方式的加载
资源推荐
资源详情
资源评论
收起资源包目录
Android图片异步加载大全 (128个子文件)
universal-image-loader-sample-1.8.4.apk 810KB
.gitignore 223B
universal-image-loader-1.8.4-javadoc.jar 471KB
android-support-v4.jar 377KB
universal-image-loader-1.8.4-with-sources.jar 221KB
universal-image-loader-1.8.4-with-sources.jar 221KB
universal-image-loader-1.8.4.jar 120KB
universal-image-loader-1.8.4-sources.jar 105KB
LinkedBlockingDeque.java 36KB
BlockingDeque.java 25KB
Deque.java 22KB
ImageLoaderConfiguration.java 21KB
ImageLoader.java 19KB
LoadAndDisplayImageTask.java 13KB
DisplayImageOptions.java 12KB
Constants.java 8KB
BaseImageDownloader.java 8KB
BaseImageDecoder.java 8KB
ImageSizeUtils.java 8KB
DefaultConfigurationFactory.java 7KB
ImageLoaderEngine.java 6KB
RoundedBitmapDisplayer.java 5KB
ImagePagerActivity.java 5KB
ImageDecodingInfo.java 5KB
LimitedDiscCache.java 5KB
ImageListActivity.java 5KB
MemoryCacheUtil.java 4KB
ImageSizeTest.java 4KB
StorageUtils.java 4KB
UsingFreqLimitedMemoryCache.java 4KB
PauseOnScrollListener.java 4KB
LruMemoryCache.java 4KB
ImageScaleType.java 4KB
LimitedMemoryCache.java 3KB
LargestLimitedMemoryCache.java 3KB
UILWidgetProvider.java 3KB
LRULimitedMemoryCache.java 3KB
ImageGridActivity.java 3KB
ImageGalleryActivity.java 3KB
HomeActivity.java 3KB
LimitedAgeDiscCache.java 3KB
DisplayBitmapTask.java 3KB
ImageDownloader.java 3KB
AbsListViewBaseActivity.java 3KB
TotalSizeLimitedDiscCache.java 3KB
LimitedAgeMemoryCache.java 3KB
FileCountLimitedDiscCache.java 3KB
FIFOLimitedMemoryCache.java 2KB
UILApplication.java 2KB
ViewScaleType.java 2KB
FuzzyKeyMemoryCache.java 2KB
ImageLoadingListener.java 2KB
BaseDiscCache.java 2KB
ProcessAndDisplayImageTask.java 2KB
FailReason.java 2KB
L.java 2KB
BaseMemoryCache.java 2KB
ImageSize.java 2KB
ImageLoadingInfo.java 2KB
BaseImageDownloaderTest.java 2KB
FadeInBitmapDisplayer.java 2KB
HttpClientImageDownloader.java 2KB
UnlimitedDiscCache.java 2KB
DiscCacheUtil.java 2KB
SlowNetworkImageDownloader.java 2KB
Md5FileNameGenerator.java 2KB
BitmapProcessor.java 2KB
SimpleImageLoadingListener.java 2KB
NetworkDeniedImageDownloader.java 2KB
DiscCacheAware.java 2KB
BitmapDisplayer.java 2KB
FakeBitmapDisplayer.java 2KB
BaseActivity.java 2KB
IoUtils.java 2KB
LIFOLinkedBlockingDeque.java 1KB
MemoryCacheAware.java 1KB
WeakMemoryCache.java 1KB
ImageDecoder.java 1KB
SimpleBitmapDisplayer.java 1KB
HashCodeFileNameGenerator.java 1KB
FileNameGenerator.java 1KB
QueueProcessingType.java 1019B
FlushedInputStream.java 857B
R.java 307B
Living Things @#&=+-_.,!()~'%20.jpg 150KB
LICENSE 11KB
README.md 27KB
CHANGELOG.md 10KB
Universal Image Loader @#&=+-_.,!()~'%20.png 390KB
UniversalImageLoader.png 372KB
ic_error.png 19KB
ic_error.png 13KB
ic_launcher.png 11KB
ic_launcher.png 7KB
ic_error.png 7KB
ic_empty.png 7KB
ic_stub.png 6KB
ic_stub.png 5KB
ic_empty.png 5KB
ic_error.png 5KB
共 128 条
- 1
- 2
资源评论
- 安droid2013-09-24恩恩。还行,可以用!
- bruce_pl2014-05-16新手学习,谢谢分享哈
- airfox74122019-04-11不错的资源,試試看好不好用
Famsuc
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功