圖片載入利器之Picasso(五)查漏補缺

sas???發表於2017-03-10

前言

原計劃四篇文章可以完成Picasso的分析,在寫上一篇原始碼分析時,看到了一個Callback的回撥,通過查詢發現,我們之前遺漏了兩個方法,因此新增一篇文章單獨介紹一下,同時回顧一下前幾篇文章的內容。

同步get()方法

get方法的使用非常簡單,如下也是一行程式碼,但是需要注意的是,它不能在UI執行緒中執行,因此當我們得到一個bitmap物件後,還需要通過handler將值傳送到UI執行緒進行圖片顯示

Bitmap bitmap = Picasso.with(PicassoActivity.this).load(imageUrl).get();

非同步fetch()方法

fetch提供了兩個過載方法分別是fetch()和fetch(Callback callback)

fetch()

這個方法就相當於圖片後臺下載,會預設進行記憶體和SdCard快取,以供以後使用,不需要再從網路上載入了

Picasso.with(PicassoActivity.this).load(imageUrl).fetch();

fetch(Callback callback)

增加了一個下載完成後的訊息,然而並沒有返回Bitmap物件,所以和上面的作用也沒多大區別,只不過是給使用者反饋一個下載結果而已。

Picasso.with(PicassoActivity.this).load(imageUrl).fetch(new Callback() {
    @Override
    public void onSuccess() {
        
    }

    @Override
    public void onError() {

    }
});

Picasso系列教程回顧

圖片載入利器之Picasso(一)初識
圖片載入利器之Picasso(二)基本用法
圖片載入利器之Picasso(三)進階
圖片載入利器之Picasso(四)原始碼解析
圖片載入利器之Picasso(五)查漏補缺

相關文章