Universal-Image-Loader

首先下载jar包到项目libs文件夹下   Image-Loader.jar

 

从个人在项目使用中看,该开源库十分适用于RecyclerView等部件的adapter中(需要显示很多图片),当item复用时加快图片的加载。 个人观点,还请批评指出问题。

 

1.基本用法

Uri uris = Uri.prase("...");

//uris支持的类型

"http://site.com/image.png" // from Web
"file:///mnt/sdcard/image.png" // from SD card
"file:///mnt/sdcard/video.mp4" // from SD card (视频缩略图)
"content://media/external/images/media/13" // from content provider
"content://media/external/video/media/13" // from content provider (视频缩略图)
"assets://image.png" // from assets
//不常用,常使用ImagView等直接本地加载
"drawable://" + R.drawable.img // from drawables (non-9patch images)

 

//简单用法

//实例化
ImageLoader imageLoader = ImageLoader.getInstance();

//加载Image,解码为Bitmap,并在ImageView中显示
ImageView imagevView;
imageLoader.displayImage(uris, imageView);

//加载Image,解码为Bitmap,回调给接口
imageLoader.loadImage(uris, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
        // Do whatever you want with Bitmap
    }
});

//加载Image,解码为Bitmap
Bitmap bmp = imageLoader.loadImageSync(uris);

 

//完整方法使用
imageLoader.displayImage(uris, 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) {
        ...
    }
});

//或者
ImageSize targetSize = new ImageSize(80, 50); // 返回的Bitmap大小为该给定值
imageLoader.loadImage(uris, targetSize, options, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
        // Do whatever you want with Bitmap
    }
});

借用一下GitHub上面的图描述一下其加载图片的机制

Universal-Image-Loader_第1张图片
 
具体请参考开源项目地址:https://github.com/nostra13/Android-Universal-Image-Loader

你可能感兴趣的:(开源库使用心得)