簡體   English   中英

如何在Picasso中清除緩存和重新加載圖像?

[英]How to clear cache and Reload Image in Picasso?

我正在使用Picasso在我的應用程序中加載圖像,但是我遇到了一個問題,即我的圖像URL是相同的但是圖像正在從backend調用相同的URL但是Picasso加載保存在其緩存中的相同圖像。 現在我想清除該圖像的緩存並再次重新加載圖像。

我在SO上搜索過的東西發現我們可以使用picasso.invalidate(fileName); memoryPolicy(MemoryPolicy.NO_CACHE)但我在代碼中收到錯誤消息

無法重新啟動方法無效

無法重新啟動方法memoryPolicy

畢加索在gradle中的依賴:

compile 'com.squareup.picasso:picasso:2.4.0'

試着用這個。

 Picasso.with(context).invalidate(url); 
 Picasso.with(context).load(url).networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPolicy.NO_CACHE); 

compile 'com.squareup.picasso:picasso:2.5.2'

invalidate()memoryPolicy()在更高版本的庫中引入。 要使用其中任何一個,請將picasso更新為最新版本

compile 'com.squareup.picasso:picasso:2.5.2'

追加到url的末尾“?=”+ System.currentTimeMillis();

像下面的picasso一樣使用okhttp客戶端

okHttpClient = new OkHttpClient();
picasso = new Picasso.Builder(this)
            .downloader(new OkHttpDownloader(okHttpClient))
            .build();

如果它沒有工作設置okhttp客戶端緩存控制到網絡

setCacheControl(CacheControl.FORCE_NETWORK);

Picasso支持下載和錯誤占位符作為可選功能和gradle中的最新版本。 每次調用時檢查代碼中的URL

Picasso.with(context)
    .load(url)
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(imageView);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM