Android Picasso 图片加载库基础使用详解

前言

图片加载在 Android开发项目中是必不可少的,为了下降开发周期和难度,咱们常常会选用一些图片加载的开源库,而Android发展到如今图片加载开源库也愈来愈多了,下面介绍 Picasso 开源图片加载库.android

简介

Picasso中文翻译为'毕加索',由Square公司开源的一个适用于Android的强大图像下载和缓存库.segmentfault

功能介绍以及基础使用

1.配置

  • 在gradle添加依赖
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);

2.功能介绍以及基本使用

  • 异步加载显示图片
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)
相关文章
相关标签/搜索