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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Picasso 修改緩存路徑

2019-11-09 14:57:41
字體:
供稿:網(wǎng)友

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

分析

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

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

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

實(shí)現(xiàn)

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

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

沒錯(cuò)就是這么簡(jiǎn)單,幾行代碼,你便成功的修改了緩存路徑。但是。。。。,當(dāng)你把OkHttp升級(jí)到OkHttp3的時(shí)候,你會(huì)發(fā)現(xiàn)給downloader設(shè)置OkHttpDownloader()的時(shí)候,發(fā)現(xiàn)它并不支持OkHttp3,這不是 shit 嗎,不能因?yàn)檫@一個(gè)小問題,讓我把OkHttp3替換成低版本吧。其實(shí)這是有辦法解決的。

使用 OkHttp3Downloader

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

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

然后設(shè)置downloader的時(shí)候改為OkHttp3Downloader即可:

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

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 井冈山市| 龙川县| 景东| 景宁| 龙江县| 白山市| 临泉县| 蕉岭县| 宿迁市| 鄄城县| 阳泉市| 赞皇县| 利川市| 会理县| 阿合奇县| 新邵县| 和静县| 建水县| 清涧县| 神农架林区| 博白县| 霍山县| 鹿泉市| 大邑县| 农安县| 唐河县| 汉阴县| 广河县| 桐柏县| 金沙县| 石景山区| 北京市| 海晏县| 定日县| 晋宁县| 公安县| 阳泉市| 龙江县| 海伦市| 建宁县| 祁门县|