我正在使用通用图像库(UIL)在我的应用程序中加载图像。
现在问题是我可以在同一个网址上拥有不同的图片。我的意思是今天我在URL中有一张猫图片,明天我可能在同一个URL上有一张狗图片。所以我想检查一下,如果缓存的图像是2天,然后删除它并再次下载图像。
这是我的配置。
File cacheDir = StorageUtils.getOwnCacheDirectory(this, "FriendListCache");
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
// You can pass your own memory cache implementation
.diskCache(new UnlimitedDiscCache(cacheDir))
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
.build();
ImageLoader.getInstance().init(config);
这是图片加载选项。
imageLoader = ImageLoader.getInstance();
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.medium_load)
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.decodingOptions(resizeOptions)
.displayer(new RoundedBitmapDisplayer(160))
.build();
答案 0 :(得分:4)
UIL为您的要求提供 LimitedAgeDiscCache 选项。
LimitedAgeDiscCache (大小无限的缓存,文件有限,生命周期。如果缓存文件的年龄超出定义的限制,则会从缓存中删除。)
.discCache(new LimitedAgeDiscCache(cacheDir, 14400))