第一 ImageLoader源码地址:https://github.com/nostra13/Android-Universal-Image-Loader
第二 添加Gradle依赖
compile
'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
第三
初始化ImageLoader
public
static void
initImageLoader(Context context) { |
|
// This configuration tuning is custom. You can tune every option, you may tune some of them, |
|
// or you can create default configuration by |
|
// ImageLoaderConfiguration.createDefault(this); |
|
ImageLoaderConfiguration.Builder config
= new ImageLoaderConfiguration.Builder(context); |
|
config.threadPriority(Thread.NORM_PRIORITY
- 2); |
|
config.denyCacheImageMultipleSizesInMemory(); |
|
config.diskCacheFileNameGenerator(new
Md5FileNameGenerator()); |
|
config.diskCacheSize(50
* 1024 *
1024); // 50 MiB |
|
config.tasksProcessingOrder(QueueProcessingType.LIFO); |
|
config.writeDebugLogs();
// Remove for release app |
|
// Initialize ImageLoader with configuration. |
|
ImageLoader.getInstance().init(config.build()); |
|
}
第四 加载图片的地方
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(imageUri, imageView);
监听下载过程
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) {
...
}
});
第四 优缺点
一个强大的图片加载库,包含各种各样的配置,最老牌,使用也最广泛。