我在应用程序中使用了通用图像加载器.它运作完美.我的问题是我的Web网址保持不变,并且该网址上的图片被更改了.因此,每次从缓存中获取图像时,URL都不会更改.我希望它最初显示缓存中的图像,并在后台也更新缓存并刷新imageview图像.
我已经尝试了Universal Image Loader: Can I use cache but also refresh it?.
通过使用此功能,它可以刷新imageview,但最初不会显示来自缓存的较旧图像.而是显示占位符图像.
解决方法:
您可以尝试这样的事情
int REPEAT_TIME_IN_SECONDS = 60; //repeat every 60 seconds
Runnable mRunnable;
Handler mHandler = new Handler();
mRunnable = new Runnable() {
@SuppressWarnings("deprecation")
@Override
public void run() {
if (getImageLoader()!=null) {
getImageLoader().getDiscCache().clear();
getImageLoader().getMemoryCache().clear();
}
}
};
mHandler.postDelayed(mRunnable, REPEAT_TIME_IN_SECONDS * 1000);
它将每隔一分钟清除一次缓存,并且imageloader将始终显示最新图像.
这个技巧对我有用.希望它对您有用.