圖片加載在 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)