標籤:error add activity word over 二級緩衝 center 文章 github
前言
目錄
1. 簡介
2. 功能特點
2.1 功能列表
2.2 功能介紹
2.2.1 圖片的非同步載入(最基礎功能)
1 ImageView targetImageView = (ImageView) findViewById(R.id.ImageView); 2 String Url = "http://218.192.170.132/1.jpg"; 3 4 //Picasso使用了流式介面的調用方式 5 //Picasso類是核心實作類別。 6 //實現圖片載入功能至少需要三個參數: 7 Picasso 8 //with(Context context) 9 //Context對於很多Android API的調用都是必須的,這裡就不多說了10 .with(context)11 12 //load(String imageUrl):被載入映像的Url地址。13 //大多情況下,一個字串代表一個網狀圖片的URL。14 .load(Url)15 16 //into(ImageView targetImageView):圖片最終要展示的地方。17 .into(targetImageView);
2.2.2 圖片轉換
使用最少的記憶體完成複雜的圖片轉換,轉換圖片以適合所顯示的ImageView,來減少記憶體消耗
1 Picasso.with(context)2 .load(url)3 //裁剪圖片尺寸4 .resize(50, 50)5 //設定圖片圓角6 .centerCrop()7 .into(imageView)
2.2.3 載入過重 & 錯誤處理
Picasso支援載入過程中和載入錯誤時顯示對應圖片
1 Picasso.with(context)2 .load(url)3 //載入過程中的圖片顯示4 .placeholder(R.drawable.user_placeholder)5 //載入失敗中的圖片顯示6 //如果重試3次(下載原始碼可以根據需要修改)還是無法成功載入圖片,則用錯誤預留位置圖片顯示。7 .error(R.drawable.user_placeholder_error)8 .into(imageView);
2.2.4 在Adapter中的回收不在視野的ImageView和取消已經回收的ImageView下載進程
1 @Override 2 public void getView(int position, View convertView, ViewGroup parent) { 3 SquaredImageView view = (SquaredImageView) convertView; 4 if (view == null) { 5 view = new SquaredImageView(context); 6 } 7 String url = getItem(position); 8 9 Picasso.with(context).load(url).into(view);10 }
2.2.5 從不同資源源載入
支援多種資料來源 網路、本地、資源、Assets 等
1 //載入資源檔2 Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);3 //載入本地檔案4 Picasso.with(context).load(new File("/images/oprah_bees.gif")).into(imageView2);
2.2.6 自動添加磁碟和記憶體二級緩衝功能
2.2.7 支援優先順序處理
每次任務調度前會選擇優先順序高的任務,比如 App 頁面中 Banner 的優先順序高於 Icon 時就很適用。
2.2.8 支援飛航模式、並發線程數根據網路類型而變
手機切換到飛航模式或網路類型變換時會自動調整線程池最大並發數,比如 wifi 最大並發為 4, 4g 為 3,3g 為 2
2.2.9 “無”本機快取
無”本機快取,不是說沒有本機快取,而是 Picasso 自己沒有實現,交給了 Square 的另外一個網路程式庫 okhttp 去實現,這樣的好處是可以通過請求 Response Header 中的 Cache-Control 及 Expired 控製圖片的到期時間。
3. Demo執行個體
沒有Demo的代碼講解不是好文章,讓我們來一步步學會使用Picasso。
步驟1:在gradle添加依賴
1 compile ‘com.squareup.picasso:picasso:2.5.2‘
步驟2:添加網路許可權
1 <uses-permission android:name="android.permission.INTERNET"/>
步驟1和步驟2是Picasso使用的前提,千萬別忘了!!!!
步驟3:在MainActivity中
1 ImageView targetImageView = (ImageView) findViewById(R.id.ImageView);2 String Url = "http://218.192.170.132/1.jpg";3 4 Picasso5 .with(this)6 .load(Url)7 .into(targetImageView);
還有具體其他功能需要配置的自己按照我上面寫的進行配置就好了~
這裡再貼上Picasso的Github地址: 請點擊這裡
4. 特點
4.1 優點
4.2 缺點
來自:http://www.jianshu.com/p/51dc758b52f9
Android圖片載入庫:最全面的Picasso講解