我有一個相當大的圖像URL列表,我正在使用Picasso加載ViewPager
。我需要能夠通過意向爲這些圖像提供共享功能(最終通過ShareActionProvider共享)。從我讀過的內容來看,畢加索並不是真正能夠處理這種開箱即用的事情,儘管它提供了所有必要的工具。從畢加索獲取圖像uri?
我在研究之前的計劃是創建一個簡單的LruCache
,它使用url作爲鍵和位圖值。這種緩存將通過通過畢加索的Target
接口發生。無論何時我想共享圖像,我都會檢查位圖的緩存。如果它不在那裏,我會去找畢加索。既然我有一個緩存的位圖不管,我會寫入一個文件(...這部分看起來不正確,但我必須寫一個文件來獲得一個uri,對吧?)並添加文件uri意圖。
但是我看到,與Picasso.Builder
我可以設置(並保留一個引用)我自己的緩存 - https://stackoverflow.com/a/18552559/413254。這意味着我可以做掉與自定義Target
和混亂,在正確實施hashCode
和equals
方法,以確保準確回收,檢索等
我的問題是,如何畢加索使用此緩存?關鍵是什麼?有沒有辦法在沒有寫入磁盤的情況下獲得位圖Uri?
畢加索將存儲請求中的密鑰。密鑰是使用URL和所有唯一的轉換鍵(例如調整大小,旋轉和自定義轉換)構建的。 – dnkoutso
你好@loeschg你有這個解決方案嗎?我使用OkHttpDownloader的Picasso加載SD卡中的圖像。我想獲得具有給定網址的圖像uri。你能分享我的代碼嗎? – Noundla
@Noundla不幸的是,我不相信我做過。我可能已經使用了我自己的LruCache並從中抓住了它。它已經過了一段時間了。(ツ)_ /¯ – loeschg