[英]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.