EasyImageLoader
Introduction: 轻量级图片加载库。具有图片加载,图片缓存、图片压缩功能。 将内存缓存、本地缓存、网络请求、图片压缩、线程池封装,做到模块独立,降低耦合度。解决数据错乱问题,能够在加载图片时添加 loadding 图片,加载失败时自动加载 error 图片。
Tags:
imageLoader-图片加载-图片缓存-图片压缩-轻量级图片加载库。具有图片加载,图片缓存、图片压缩功能。 将内存缓存、本地缓存、网络请求、图片压缩、线程池封装,做到模块独立,降低耦合度,只给外层提供 ImagLoader 的 bindBitmap/getBitmap 方法加载图片解决数据错乱问题,能够在加载图片时添加 loadding 图片,加载失败时自动加载 error 图片
示例
依赖
该库依赖以下常见库
compile 'com.jakewharton:disklrucache:2.0.2' //Google 推荐的本地缓存库
compile 'com.google.code.gson:gson:2.3.1' //解析 json 库,用于封装的网络请求库自动解析 json
EasyImageLoader 的使用
//根据图片 url 给 imageView 加载图片,自动本地缓存、内存缓存,注意 Context 需使用 ApplicationContext,否则会导致内存泄露,下同
EasyImageLoader.getInstance(context).bindBitmap(imageUrl, imageView);
//重载方法加载图片并根据需求宽高压缩图片
EasyImageLoader.getInstance(context).bindBitmap(imageUrl, imageView,reqWidth,reqHeight);
//根据 url 自动从内存缓存、本地缓存、网络获取 bitmap,并回调
EasyImageLoader.getInstance(context).getBitmap(imageUrl, new EasyImageLoader.BitmapCallback() {
@Override
public void onResponse(Bitmap bitmap) {
//保存 bitmap 到本地
saveBitmap(bitmap);
}
});
列如:
public class ImageItemViewHolder extends RecyclerView.ViewHolder{
public ImageView imageView;
private Context context;
public ImageItemViewHolder(ViewGroup parent) {
super(LayoutInflater.from(parent.getContext()).inflate(R.layout.itemview_image,parent,false));
imageView =(ImageView)itemView.findViewById(R.id.itemview_img);
context =parent.getContext().getApplicationContext();
}
//绑定数据
public void setData(NetImage netImage){
//加载图片
EasyImageLoader.getInstance(context).bindBitmap(netImage.getImageUrl, imageView);
}
}
详细用法请看 demo