图片加载在 Android开发项目中是必不可少的,为了下降开发周期和难度,咱们常常会选用一些图片加载的开源库,而Android发展到如今图片加载开源库也愈来愈多了,下面介绍 Picasso 开源图片加载库.android
Picasso
中文翻译为'毕加索',由Square公司开源的一个适用于Android的强大图像下载和缓存库.segmentfault
implementation 'com.squareup.picasso:picasso:2.71828'
<uses-permission android:name="android.permission.INTERNET"/>
ImageView mImageView = (ImageView) findViewById(R.id.ImageView); String Url = "http:/*********"; Picasso .with(this) .load(Url) .into(targetImageView);
ImageView targetImageView = (ImageView) findViewById(R.id.ImageView); String Url = "http://**********"; //Picasso使用了流式接口的调用方式 Picasso .with(context) .load(Url) .into(targetImageView);
转换图片以适合所显示的ImageView,来减小内存消耗缓存
Picasso.with(context) .load(url) //裁剪图片尺寸 .resize(50, 50) //设置图片圆角 .centerCrop() .into(imageView)
Picasso.with(context) .load(url) //加载过程当中的图片显示 .placeholder(R.drawable.user_placeholder) //加载失败中的图片显示 //若是重试3次仍是没法成功加载图片,则用错误占位符图片显示。 .error(R.drawable.user_placeholder_error) .into(imageView);
在Adapter中的回收不在视野的ImageView和取消已经回收的ImageView下载进程网络
@Override
public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {异步
view = new SquaredImageView(context);
}
String url = getItem(position);ide
Picasso.with(context).load(url).into(view);
}gradle
* 加载多种不一样数据源 网络、本地、资源、Assets 等
//加载资源文件
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
//加载本地文件
Picasso.with(context).load(new File("/images/lunch_bees.gif")).into(imageView2);this
* 默认配置自动添加磁盘和内存二级缓存功能 ------------------------ 至此,Picasso的基本功能和使用就介绍我完毕了,感谢阅读 欢迎关注做者[darryrzhong](http://www.darryrzhong.site),更多干货等你来拿哟. ### 请赏个小红心!由于你的鼓励是我写做的最大动力! >更多精彩文章请关注 - [我的博客:darryrzhong](http://www.darryrzhong.xyz) - [掘金](https://juejin.im/user/5a6c3b19f265da3e49804988) - [简书](https://www.jianshu.com/users/b7fdf53ec0b9/timeline) - [SegmentFault](https://segmentfault.com/u/darryrzhong_5ac59892a5882/articles) - [慕课网手记](https://www.imooc.com/u/6733207)