在android中2天后使UIL缓存的图像失效

时间:2015-01-02 10:26:34

标签: android image caching universal-image-loader

我正在使用通用图像库(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();

1 个答案:

答案 0 :(得分:4)

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

LimitedAgeDiscCache (大小无限的缓存,文件有限,生命周期。如果缓存文件的年龄超出定义的限制,则会从缓存中删除。)

.discCache(new LimitedAgeDiscCache(cacheDir, 14400))