Picasso的使用:
它是Square公司开源的一个安卓图形缓存库
功能:可以实现图片下载和缓存
1 不仅可以实现图片异步加载功能
2 在adapter 中需要取消已经不再视野范围内的ImageView 图片资源的加载否则会导致图片错位
3 使用负载的图片压缩减少内存占用
4 自带内存和硬盘二级缓存
举例使用场景:
1 加载网络图片:
Picasso.with(this).load("http://image.com").into(myImageView);
2 adapter使用:、
重用会被自动检测 取消上次的加载
@ovveride
public void getView(int position,View convertView,ViewGroup parent){
ImageView view = (ImageView) convertView;
if(View!=null){
String url = getItemt(positon);
Picasso.with(mcontext).load(url).into(view);
}else{
view = new ImageView(mcontext);
}
3 图片转换:通过转换图片用来使用布局大小并减少内存占用
Picasso.with(mcontext).load(url).resize(50,50).centerCrop().inot(myImageView);;
当然也可以自定义转换
public calss CropSqurareTransFormation Implements TransFormation{
@Override public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
Bitmap result = Bitmap.createBitmap(source, x, y, size, size);
if (result != source) {
source.recycle();
}
return result;
}
@Override public String key() { return "square()"; }
}
然后传递一个对象就行
Picasso.with(this).load(R.drawable.test).transform(new CropCircleTransformation()).into((ImageView) findViewById(R.id.testimage));
详情参与:点击打开链接
Glide的使用:
.load("http://nuuneoi.com/uploads/source/playstore/cover.jpg")
.resize(76, 42)
.into(myImageView);
.load("http://nuuneoi.com/uploads/source/playstore/cover.jpg") .fit() .centerCrop() .into(myImageView);
Picasso:placeholder(R.drawable.image);
Picasso:error(R.drawable.image);