国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Picasso 修改緩存路徑

2019-11-09 16:10:12
字體:
來源:轉載
供稿:網友

Picasso 是 Square 公司開源的一個非常友好的圖片加載框架,使用范圍也比較廣泛。具體的使用這里就不做介紹了,文章主要講講如何修改圖片的緩存路徑。Picasso默認的緩存路徑位于data/data/your package name/cache/picasso-cache/下。開發過程中我們難免會遇到一些需求,需要我們去修改圖片的緩存路徑。

分析

我們注意到,Picasso 底層其實是使用OkHttp去下載圖片,同時在設置Picasso的時候,有一個.downloader(Downloader downloader)方法,我們可以傳遞進去一個OkHttpDownloader( OkHttpClient client)

Picasso picasso = new Picasso.Builder(Context) .downloader(new OkHttpDownloader(client)) .build();

看到這里你可能已經想到了,我們給OkHttpClient設置Cache不就可以了嗎,對,你沒有猜錯,實際就是這么干的。我們只需要給OkHttpClient設置.cache(new Cache(file, maxSize))就可以實現修改緩存路徑了。

實現

廢話不多說,直接上代碼:

File file = new File("your cache path"); if (!file.exists()) { file.mkdirs(); } long maxSize = Runtime.getRuntime().maxMemory() / 8;//設置圖片緩存大小為運行時緩存的八分之一 OkHttpClient client = new OkHttpClient.Builder() .cache(new Cache(file, maxSize)) .build(); Picasso picasso = new Picasso.Builder(this) .downloader(new OkHttpDownloader(client)) .build();

沒錯就是這么簡單,幾行代碼,你便成功的修改了緩存路徑。但是。。。。,當你把OkHttp升級到OkHttp3的時候,你會發現給downloader設置OkHttpDownloader()的時候,發現它并不支持OkHttp3,這不是 shit 嗎,不能因為這一個小問題,讓我把OkHttp3替換成低版本吧。其實這是有辦法解決的。

使用 OkHttp3Downloader

為了解決上面描述的不能使用OkHttp3作為下載器的問題,Picasso作者jakewharton大神專門寫了一個OkHttp3Downloader庫。使用也非常簡單,在Module dependencies添加依賴:

compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'

然后設置downloader的時候改為OkHttp3Downloader即可:

File file = new File("your cache path"); if (!file.exists()) { file.mkdirs(); } long maxSize = Runtime.getRuntime().maxMemory() / 8;//設置圖片緩存大小為運行時緩存的八分之一 OkHttpClient client = new OkHttpClient.Builder() .cache(new Cache(file, maxSize)) .build(); Picasso picasso = new Picasso.Builder(this) .downloader(new OkHttp3Downloader(client))//注意此處替換為 OkHttp3Downloader .build();

至此,我們就完成了Picasso緩存路徑的修改。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浑源县| 福鼎市| 永吉县| 施秉县| 张家川| 皮山县| 乐陵市| 城市| 正镶白旗| 外汇| 嘉兴市| 桂东县| 汤原县| 内乡县| 龙川县| 丹东市| 安多县| 洪泽县| 定安县| 清河县| 和林格尔县| 隆回县| 宝兴县| 温宿县| 扶余县| 宜州市| 攀枝花市| 塔城市| 南皮县| 深州市| 托克逊县| 东台市| 禄劝| 沙洋县| 肥乡县| 枝江市| 丰原市| 罗甸县| 凌源市| 湘乡市| 那曲县|