# ![Logo](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/sample/res/drawable-mdpi/ic_launcher.png) Universal Image Loader
UIL 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.
![Screenshot](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/UniversalImageLoader.png)
## Project News
**27.11 UIL celebrates 3 years of development :)**
* **#1** of Android libraries for loading and caching images
* **#1** of Android libraries on GitHub (according to [gitrep](https://www.gitrep.com/search?utf8=✓&omni_search=&public_tags%5B%5D=android&description=&search=true&sort=star_count&commit=Search))
* **#3** of Java repositories on GitHub (according to [gitrep](https://www.gitrep.com/search?utf8=✓&omni_search=&public_tags%5B%5D=Java&description=&search=true&sort=star_count&commit=Search))
**Upcoming changes in new UIL version (1.9.4+)**
* Memory Cache redesign
* Video file thumbnail support via `file:///sdcard/video.mp4`
* **New API:** `DisplayImageOptions.targetSize(ImageSize)`
* HTTP cache support
* Consider `BitmapFactory.Options.inBitmap`
* Time-to-live option for files in LruDiskCache
## Features
* Multithread image loading (async or sync)
* Wide customization of ImageLoader's configuration (thread executors, downloader, decoder, memory and disk cache, display image options, etc.)
* Many customization options for every display image call (stub images, caching switch, decoding options, Bitmap processing and displaying, etc.)
* Image caching in memory and/or on disk (device's file system or SD card)
* Listening loading process (including downloading progress)
Android 2.0+ support
## Downloads
* **[universal-image-loader-1.9.3.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.9.3.jar)**
* **[universal-image-loader-1.9.3-with-sources.jar](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-1.9.3-with-sources.jar)** (for Eclipse)
* [![Demo app](https://camo.githubusercontent.com/dc1ffe0e4d25c2c28a69423c3c78000ef7ee96bf/68747470733a2f2f646576656c6f7065722e616e64726f69642e636f6d2f696d616765732f6272616e642f656e5f6170705f7267625f776f5f34352e706e67)](https://play.google.com/store/apps/details?id=com.nostra13.universalimageloader.sample) [![QR Code](https://lh3.ggpht.com/csXEddxiLgQ6FxckefjQnP1PVugbaAYOdcuTa3vVtGV1PlWbFu2dYggoH8rI1w2RdEz1=w50)](http://chart.apis.google.com/chart?chs=300x300&cht=qr&chld=|1&chl=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.nostra13.universalimageloader.sample) [<img src="http://mobway.in/image/apk.png" height="45px" />](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/downloads/universal-image-loader-sample-1.9.3.apk)
## [Documentation](https://github.com/nostra13/Android-Universal-Image-Loader/wiki)
* **[Quick Setup](https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Quick-Setup)**
* **[Configuration](https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Configuration)**
* **[Display Options](https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Display-Options)**
* [Useful Info](https://github.com/nostra13/Android-Universal-Image-Loader/wiki/Useful-Info) - Read it before asking a question
* [User Support](https://github.com/nostra13/Android-Universal-Image-Loader/wiki/User-Support) - Read it before creating new issue
* [Sample project](https://github.com/nostra13/Android-Universal-Image-Loader/tree/master/sample) - Learn it to understand the right way of library usage
* [ChangeLog](https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/CHANGELOG.md) - Info about API changes is here
## Usage
### Acceptable URIs examples
``` java
"http://site.com/image.png" // from Web
"file:///mnt/sdcard/image.png" // from SD card
"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail)
"content://media/external/images/media/13" // from content provider
"content://media/external/video/media/13" // from content provider (video thumbnail)
"assets://image.png" // from assets
"drawable://" + R.drawable.img // from drawables (non-9patch images)
```
**NOTE:** Use `drawable://` only if you really need it! Always **consider the native way** to load drawables - `ImageView.setImageResource(...)` instead of using of `ImageLoader`.
### Simple
``` java
// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view
// which implements ImageAware interface)
imageLoader.displayImage(imageUri, imageView);
```
``` java
// Load image, decode it to Bitmap and return Bitmap to callback
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
```
``` java
// Load image, decode it to Bitmap and return Bitmap synchronously
Bitmap bmp = imageLoader.loadImageSync(imageUri);
```
### Complete
``` java
// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view
// which implements ImageAware interface)
imageLoader.displayImage(imageUri, imageView, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
...
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
...
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
...
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
...
}
}, new ImageLoadingProgressListener() {
@Override
public void onProgressUpdate(String imageUri, View view, int current, int total) {
...
}
});
```
``` java
// Load image, decode it to Bitmap and return Bitmap to callback
ImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this size
imageLoader.loadImage(imageUri, targetSize, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
```
``` java
// Load image, decode it to Bitmap and return Bitmap synchronously
ImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this size
Bitmap bmp = imageLoader.loadImageSync(imageUri, targetSize, options);
```
## Load & Display Task Flow
![Task Flow](https://github.com/nostra13/Android-Universal-Image-Loader/raw/master/wiki/UIL_Flow.png)
## Applications using Universal Image Loader
**[MediaHouse, UPnP/DLNA Browser](https://play.google.com/store/apps/details?id=com.dbapp.android.mediahouse)** | **[Prezzi Benzina (AndroidFuel)](https://play.google.com/store/apps/details?id=org.vernazza.androidfuel)** | **[ROM Toolbox Lite](https://play.google.com/store/apps/details?id=com.jrummy.liberty.toolbox)**, [Pro](https://play.google.com/store/apps/details?id=com.jrummy.liberty.toolboxpro) | [Stadium Astro](https://play.google.com/store/apps/details?id=com.astro.stadium.activities) | [Chef Astro](https://play.google.com/store/apps/details?id=com.sencha.test) | [Sporee - Live Soccer Scores](https://play.google.com/store/apps/details?id=com.sporee.android) | **[EyeEm - Photo Filter Camera](https://play.google.com/store/apps/details?id=com.baseapp.eyeem)** | [PhotoDownloader for Facebook](https://play.google.com/store/apps/details?id=com.giannz.photodownloader) | **[Topface - meeting is easy](https://play.google.com/store/apps/details?id=com.topface.topface)** | **[reddit is fun](https://play.google.com/store/apps/details?id=com.andrewshu.android.reddit)** | **[Diaro - personal diary](https://play.google.com/store/apps/details?id=com.pixelcrater.Diaro)** | [WebMoney Keeper Mobile](https://play.google.com/store/apps/details?id=ru.webmoney.keeper.mobi
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
[开源]Android_图片缓存_Android-Universal-Image-Loader-master (141个子文件)
universal-image-loader-sample-1.9.3.apk 832KB
.gitignore 263B
build.gradle 516B
universal-image-loader-1.9.3-javadoc.jar 550KB
android-support-v4.jar 377KB
universal-image-loader-1.9.3-with-sources.jar 285KB
universal-image-loader-1.9.3.jar 157KB
universal-image-loader-1.9.3.jar 157KB
universal-image-loader-1.9.3-sources.jar 132KB
ImageLoader.java 37KB
LinkedBlockingDeque.java 36KB
DiskLruCache.java 29KB
BlockingDeque.java 25KB
ImageLoaderConfiguration.java 25KB
Deque.java 22KB
DisplayImageOptions.java 17KB
LoadAndDisplayImageTask.java 17KB
Constants.java 16KB
BaseImageDownloader.java 12KB
BaseImageDecoder.java 9KB
ImageSizeUtils.java 8KB
ImageSizeTest.java 8KB
DefaultConfigurationFactory.java 8KB
LruDiskCache.java 7KB
ImageLoaderEngine.java 7KB
StrictLineReader.java 7KB
ViewAware.java 6KB
BaseDiskCache.java 6KB
StorageUtils.java 6KB
ImageAware.java 5KB
ImageDecodingInfo.java 5KB
ImagePagerFragment.java 5KB
ImageListFragment.java 5KB
ImageViewAware.java 5KB
ImageGridFragment.java 5KB
LimitedAgeDiskCache.java 4KB
IoUtils.java 4KB
MemoryCacheUtils.java 4KB
HomeActivity.java 4KB
ImageScaleType.java 4KB
RoundedBitmapDisplayer.java 4KB
UsingFreqLimitedMemoryCache.java 4KB
PauseOnScrollListener.java 4KB
LruMemoryCache.java 4KB
ImageGalleryFragment.java 4KB
LimitedMemoryCache.java 3KB
DisplayBitmapTask.java 3KB
LargestLimitedMemoryCache.java 3KB
L.java 3KB
FadeInBitmapDisplayer.java 3KB
LRULimitedMemoryCache.java 3KB
UILWidgetProvider.java 3KB
AbsListViewBaseFragment.java 3KB
ImageDownloader.java 3KB
SimpleImageActivity.java 3KB
RoundedVignetteBitmapDisplayer.java 3KB
DiskCache.java 3KB
NonViewAware.java 3KB
ComplexImageActivity.java 3KB
LimitedAgeMemoryCache.java 3KB
UILApplication.java 3KB
FIFOLimitedMemoryCache.java 2KB
ImageLoadingListener.java 2KB
ViewScaleType.java 2KB
FuzzyKeyMemoryCache.java 2KB
ProcessAndDisplayImageTask.java 2KB
ImageLoadingInfo.java 2KB
BaseMemoryCache.java 2KB
FailReason.java 2KB
ContentLengthInputStream.java 2KB
UnlimitedDiskCache.java 2KB
Util.java 2KB
ImageSize.java 2KB
BitmapDisplayer.java 2KB
BaseImageDownloaderTest.java 2KB
DiskCacheUtils.java 2KB
BaseFragment.java 2KB
SimpleImageLoadingListener.java 2KB
Md5FileNameGenerator.java 2KB
BitmapProcessor.java 2KB
LIFOLinkedBlockingDeque.java 1KB
MemoryCache.java 1KB
WeakMemoryCache.java 1KB
SimpleBitmapDisplayer.java 1KB
ImageLoadingProgressListener.java 1KB
ImageDecoder.java 1KB
HashCodeFileNameGenerator.java 1KB
FileNameGenerator.java 1KB
QueueProcessingType.java 1018B
FlushedInputStream.java 857B
R.java 307B
LoadedFrom.java 225B
Living Things @#&=+-_.,!()~'%20.jpg 150KB
LICENSE 11KB
CHANGELOG.md 16KB
README.md 13KB
Universal Image Loader @#&=+-_.,!()~'%20.png 390KB
UniversalImageLoader.png 372KB
UIL_Flow.png 231KB
ic_launcher.png 58KB
共 141 条
- 1
- 2
资源评论
- 王睿编程20年2017-06-28还是有点用的,还好
- MyCrooner2018-03-21还是有点用的
CLeopard
- 粉丝: 178
- 资源: 449
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功