今天測試找過來說圖片不顯示了,查了一下是Picasso加載本地圖片沒有顯示,奇怪了,以前都是這樣寫為什么現在不行了,難道是Picasso有bug了,懷着激動的心情斷點跟進去發現
Picasso所有load的重載都會將傳入參數轉化為Uri 再交給RequestCreator處理
而Picasso.load(localImagePath) 轉化為Uri是沒有 Scheme的 uri: "/storage/emulated/0/Android/data/xxxx/xxx.png"
這樣當然無法解析圖片了
解決方式:
Picasso.load(new File(localImagePath)) 就可以了,File轉化為Uri 是包含Scheme的,
uri: "file:///storage/emulated/0/Android/data/xxxxx/xxx.png"
解決。
下次用一個庫的時候還是先看看其實現原理吧,免得去踩一些不必要的坑