Picasso是Square公司开源的一个Android平台上的图片加载框架,图片库通常会对图片加载逻辑进行封装、优化,比如多级缓存/异步线程调度/图片压缩变换,有了这些特性,开发者不再需要关注内存占用、OOM、网络请求等问题,而只需关注业务本身的逻辑,这对提高生产效率有很大帮助。
使用简介
首先在项目中添加picasso依赖库
传统的ImageVIew设置图片
Picasso.with(context).load(url).placeholder(R.drawable.tab_item_bg).into(imageView);
自定义的布局设置图片,target是指实现了Target接口的自定义View
Picasso.with(context).load(url).placeholder(R.drawable.tab_item_bg).into(target);
adapter中的使用
//View复用会自动察觉并且取消之前的下载任务
@Override
public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == ) {
view = new SquaredImageView(context);
}
String url = getItem(position);
Picasso.with(context).load(url).into(view);
}
自动设置图片宽高像素的大小
Picasso
.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)