在 android 的 2 天后使 UIL 缓存图像过期

Expire UIL cached images after 2 days in android

我正在使用通用图像库 (UIL) 在我的应用程序中加载图像。

现在的问题是我可以在同一个 URL 上放置不同的图像。我的意思是今天我在 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();

UIL 为您的要求提供 LimitedAgeDiscCache 选项。

LimitedAgeDiscCache(具有有限文件生命周期的大小无限缓存。如果缓存文件的年龄超过定义的限制,那么它将从缓存中删除。)

.discCache(new LimitedAgeDiscCache(cacheDir, 14400))