今天在使用Glide的时候发现url 里面的图片已经修改了,但ImageView 一直不更新,不管退出,重启应用程序 ,想到是缓存的问题,那就要清除缓存
清除缓存的方法有
Glide.get(this).clearDiskCache();
Glide.get(this).clearMemory();
但是 不能运行在主线程中,需要另外 启动线程来运行
@Override
protected void onCreate(Bundle savedInstanceState) {
.....
clearImageDiskCache(this);
}
/**
* 清除图片磁盘缓存
*/
public void clearImageDiskCache(final Context context) {
try {
if (Looper.myLooper() == Looper.getMainLooper()) {
new Thread(new Runnable() {
@Override
public void run() {
Glide.get(context).clearDiskCache();
}
}).start();
} else {
Glide.get(context).clearDiskCache();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//这样在使用的时候就不会有缓存了
Glide.with(this).load(url).placeholder(R.drawable.default_scanner_code).into(mMineCardScanner);