亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android圖片加載利器之Picasso擴展功能

 更新時間:2017年03月16日 10:25:41   作者:landptf  
這篇文章主要為大家詳細介紹了Android圖片加載利器之Picasso擴展功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

這篇文章中我們來繼續(xù)學習Picasso中還提供了哪些擴展功能,一個好的框架一定是擴展性強的,你需要的我剛好有。

下面看一下都提供了哪些擴展功能呢?

Picasso內(nèi)部采用了建造者模式,所以我們只看Builder內(nèi)部類都提供了哪些方法即可

1 defaultBitmapConfig(Bitmap.Config bitmapConfig)

設置像素格式,Picasso的默認格式為ARGB_8888,我們知道采用這個值一個像素占用4個字節(jié),可以使用RGB_565來替換,這樣可以節(jié)省一半的內(nèi)存開銷,當然圖片質(zhì)量還是有一定損失的。

2 downloader(Downloader downloader)

自定義下載器,默認OkHttp,具體的實現(xiàn)類是OkHttpDownloader

3 executor(ExecutorService executorService)

線程池,默認的實現(xiàn)是PicassoExecutorService, 這里面會根據(jù)不同的網(wǎng)絡情況來設置核心線程和最大線程數(shù),最大為4,最小為1,默認為3.

4 memoryCache(Cache memoryCache)

緩存策略,默認實現(xiàn)為LruCache,LRU(最近最少未使用算法)目前在內(nèi)存緩存這塊使用的還是非常廣泛的。

5 listener(Listener listener)

圖片加載失敗的一個回調(diào)事件,回調(diào)方法為onImageLoadFailed(Picasso picasso, Uri uri, Exception exception)

6 requestTransformer(RequestTransformer transformer)

請求的轉(zhuǎn)換,在request被提交之前進行轉(zhuǎn)換

7 addRequestHandler(RequestHandler requestHandler)

自定義加載圖片的來源,默認為我們實現(xiàn)了7個,分別如下:

ResourceRequestHandler
ContactsPhotoRequestHandler
MediaStoreRequestHandler
ContentStreamRequestHandler
AssetRequestHandler
FileRequestHandler
NetworkRequestHandler

以上方法的調(diào)用方式如下

Picasso picasso = new Picasso.Builder(this)
    .defaultBitmapConfig(Bitmap.Config.RGB_565)
    .downloader(downloader)
    .executor(executotService)
    .memoryCache(cache)
    .listener(new Picasso.Listener() {
      @Override
      public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {

      }
    })
    .requestTransformer(new Picasso.RequestTransformer() {
      @Override
      public Request transformRequest(Request request) {
        return null;
      }
    })
    .addRequestHandler(requestHandler)
    .build();
Picasso.setSingletonInstance(picasso);
picasso.load(imageUrl).into(imageView);

在RequestCreator中也有幾個可以自定義的方法,上篇博客中未涉及到,這里統(tǒng)一列出來

1 config(Bitmap.Config config)

同上面的defaultBitmapConfig(Bitmap.Config bitmapConfig)效果完全一樣,兩種方式都可以設置,defaultBitmapConfig(Bitmap.Config.RGB_565)傾向于全局設置,而config(Bitmap.Config.RGB_565)只對單次請求生效

2 transform(Transformation transformation)

圖片轉(zhuǎn)換,一般我們得到圖片之后,在顯示之前還可以進一步轉(zhuǎn)換,比如進行一些色彩處理,改變形狀等等。

以上方法的調(diào)用方式如下

Picasso.with(this)
    .load(imageUrl)
    .config(Bitmap.Config.RGB_565)
    .transform(transform)
    .into(imageView);


好了,到這里Picasso的功能基本介紹完了,接下來我們將從源碼的角度去學習內(nèi)部的實現(xiàn)。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android手勢密碼的實現(xiàn)

    Android手勢密碼的實現(xiàn)

    這篇文章主要介紹了Android手勢密碼的實現(xiàn)的相關資料,需要的朋友可以參考下
    2016-04-04
  • Android 通過Intent使用Bundle傳遞對象詳細介紹

    Android 通過Intent使用Bundle傳遞對象詳細介紹

    這篇文章主要介紹了Android 通過Intent使用Bundle傳遞對象詳細介紹的相關資料,并附實例代碼講解,具有一定的參考價值,需要的朋友可以參考下
    2016-11-11
  • Android 中WallpaperManager用法實例

    Android 中WallpaperManager用法實例

    這篇文章主要介紹了Android 中WallpaperManager用法實例的相關資料,希望通過本文能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • Android Handler,Message,MessageQueue,Loper源碼解析詳解

    Android Handler,Message,MessageQueue,Loper源碼解析詳解

    這篇文章主要介紹了Android Handler,Message,MessageQueue,Loper源碼解析詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Flutter狀態(tài)管理Bloc之登錄示例

    Flutter狀態(tài)管理Bloc之登錄示例

    這篇文章主要為大家詳細介紹了Flutter狀態(tài)管理Bloc之登錄示例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Android 序列化的存儲和讀取總結(jié)及簡單使用

    Android 序列化的存儲和讀取總結(jié)及簡單使用

    這篇文章主要介紹了Android 序列化的存儲和讀取總結(jié)及簡單使用的相關資料,Serializable接口和Parcelable接口,本文對這兩種方式進行簡單的總結(jié)和使用,需要的朋友可以參考下
    2016-12-12
  • Android實現(xiàn)在屏幕上移動圖片的方法

    Android實現(xiàn)在屏幕上移動圖片的方法

    這篇文章主要介紹了Android實現(xiàn)在屏幕上移動圖片的方法,實例分析了Android操作圖片的相關技巧,需要的朋友可以參考下
    2015-06-06
  • Android中PopupWindow使用方法詳解

    Android中PopupWindow使用方法詳解

    這篇文章主要為大家詳細介紹了Android中PopupWindow使用方法,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android利用CircleImageView實現(xiàn)圓形頭像的方法

    Android利用CircleImageView實現(xiàn)圓形頭像的方法

    這篇文章主要介紹了Android利用CircleImageView實現(xiàn)圓形頭像的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android實現(xiàn)加載時提示“正在加載,請稍后”的方法

    Android實現(xiàn)加載時提示“正在加載,請稍后”的方法

    在現(xiàn)在的很多應用中,當在加載的時候,如果頁面動態(tài)數(shù)據(jù)較多,會有很長一段時間的空白頁面,如果加上這個頁面正在加載的提示,使得應用更加人性化。這篇文章就給大家分享了在 Android實現(xiàn)加載時提示“正在加載,請稍后”的方法,有需要的朋友們可以參考借鑒。
    2016-10-10

最新評論