Android Universal ImageLoader 缓存图片

2019-12-10 19:20:30于丽

(2)图片加载监听器在这里吧可以设置加载时的动画或者进度条之类的东西这里

ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener(); 
private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener { 
static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>()); 
@Override 
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
if (loadedImage != null) { 
ImageView imageView = (ImageView) view; 
boolean firstDisplay = !displayedImages.contains(imageUri); 
if (firstDisplay) { 
FadeInBitmapDisplayer.animate(imageView, 500); 
displayedImages.add(imageUri); 
} 
} 
} 
}

(3)简单设置就可以给ImageView添加图片了

imageLoader.displayImage(imageUrl, imageview, options, animateFirstListener); 

对于本地的图片 ,在其绝对地址前面要加入"file://"。网络图片就直接写路径了。

由于我的这个是最新的包,可能跟以前老的版本不同,看到有些网友说的是:

String imageUri = "http://www.easck.com// 网络图片 
String imageUri = "file:///mnt/sdcard/image.png"; //SD卡图片 
String imageUri = "content://media/external/audio/albumart/13"; // 媒体文件夹 
String imageUri = "assets://image.png"; // assets 
String imageUri = "drawable://" + R.drawable.image; // drawable文件 

缓存的清理:

缓存的清理可以按需求来定,可以再每个Activity的生命周期函数onDestroy中清理也可以单独设置让用户自行清理。

@Override 
public void onDestroy() { 
super.onDestroy(); 
imageLoader.clearMemoryCache(); 
imageLoader.clearDiskCache(); 
}

GirdView,ListView加载图片:

相信大部分人都是使用GridView,ListView来显示大量的图片,而当我们快速滑动GridView,ListView,我们希望能停止图片的加载,而在GridView,ListView停止滑动的时候加载当前界面的图片,这个框架当然也提供这个功能,使用起来也很简单,它提供了PauseOnScrollListener这个类来控制ListView,GridView滑动过程中停止去加载图片,该类使用的是代理模式