關於Picasso load本地圖片顯示失敗的探究


今天測試找過來說圖片不顯示了,查了一下是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"

解決。

下次用一個庫的時候還是先看看其實現原理吧,免得去踩一些不必要的坑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM