Android-Universal-Image-Loader README

The project's README from github.com/nostra13/Android-Universal-Image-Loader. As one markdown file: README.md.

Logo Universal Image Loader Build Status Maven Central

The great ancestor of modern image-loading libraries :)
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

Project News

Features

Android 4.1+ support

Downloads

Documentation

Usage

Dependency

implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

Acceptable URIs examples

"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

ImageLoader imageLoader = ImageLoader.getInstance(); // Get singleton instance
// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view 
//	which implements ImageAware interface)
imageLoader.displayImage(imageUri, imageView);
// 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
	}
});
// Load image, decode it to Bitmap and return Bitmap synchronously
Bitmap bmp = imageLoader.loadImageSync(imageUri);

Complete

// 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) {
		...
	}
});
// 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
	}
});
// 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

Applications using Universal Image Loader

MediaHouse, UPnP/DLNA Browser | Prezzi Benzina (AndroidFuel) | ROM Toolbox Lite, Pro | Stadium Astro | Chef Astro | Sporee - Live Soccer Scores | EyeEm - Photo Filter Camera | Topface - meeting is easy | reddit is fun | Diaro - personal diary | Meetup | Vingle - Magazines by Fans | Anime Music Radio | WidgetLocker Theme Viewer | ShortBlogger for Tumblr | SnapDish Food Camera | Twitch | TVShow Time, TV show guide | Planning Center Services | Lapse It | My Cloud Player for SoundCloud | SoundTracking | LoopLR Social Video | Hír24 | Immobilien Scout24 | Lieferheld - Pizza Pasta Sushi | Loocator: free sex datings | 벨팡-개편 이벤트,컬러링,벨소리,무료,최신가요,링투유 | Streambels AirPlay/DLNA Player | Ship Mate - All Cruise Lines | Disk & Storage Analyzer | 糗事百科 | Balance BY | Anti Theft Alarm - Security | XiiaLive™ - Internet Radio | Bandsintown Concerts | Save As Web Archive | MCPE STORE -Download MCPE file | All-In-One Toolbox (29 Tools) | Zaim | Calculator Plus Free | Truedialer by Truecaller | DoggCatcher Podcast Player | PingTools Network Utilities | The Traveler | minube: travel photo album | Wear Store for Wear Apps | Cast Store for Chromecast Apps | WebMoney Keeper

Donation

You can support the project and thank the author for his hard work :)

Alternative libraries

Android-Universal-Image-Loader (nostra13/Android-Universal-Image-Loader)

Searching Database…

这是什么东西?Universal Image Loader(UIL)是一个用于 Android 的 Java 库,用来加载、缓存和显示图片。它提供了大量配置选项,可以对加载和缓存过程进行细致的控制。
它是我安装的应用,还是给我代码用的库?是一个库,不是独立应用:你把它作为依赖或单个 .jar 文件添加到 Android 项目里,然后每当 ImageView 需要显示图片时,就在代码中调用它。
我怎么把它加到我的项目里?把它作为 Gradle 或 Maven 依赖添加(参见 README 中的 Usage 部分),或者直接放入 universal-image-loader-1.9.5.jar。文档里有快速上手指南(Quick Setup)和一个示例项目,演示了正确的使用方法。
它能在我的 Android 版本上运行吗?它支持 Android 4.1 及以上版本——这是 README 提到的唯一要求;除了添加这个库本身,没有其他前置条件。
这个库还在维护吗?没有。作者在 2015 年 11 月就停止维护了,README 里自己列出了 Fresco、Glide、Picasso 和 Volley 作为替代库——新项目建议优先考虑这些。
图片加载过程能自定义到什么程度?可以自定义很多东西:线程池执行器、下载器和解码器、内存缓存和磁盘缓存,以及每次调用时的显示选项,比如占位图、缓存开关、解码选项和 Bitmap 处理等。
我能跟踪图片加载的进度吗?可以。你可以监听整个加载过程,包括下载进度——在网速慢、图片大的情况下很实用。
我可以从哪些来源加载图片?README 文档列出了支持的 URI 示例,其中包括 drawable://。作者建议只有在确实需要时才用 drawable://——对于 drawable,更推荐使用系统自带的 ImageView.setImageResource(...)。
它在真实应用里经受过考验吗?是的——README 列出了几十款使用它的应用,包括 Twitch、reddit is fun、ROM Toolbox、EyeEm 和 TVShow Time。
Creator
nostra13
Size
26.5 MB
Stars
16.8K
Updated
CommitMay 17
Age
14y
Commits · 90 Days