Windows Phone 8.1上本地缓存图像的过期时间



我扩展了之前提出的关于在windows phone 8.1应用程序中本地缓存图像的问题

我正在使用Q42.WinRT框架中的ImageExtension,正如公认的答案中所建议的那样,在设备上缓存图像,但我仍然有一个额外的要求,即在缓存的图像上设置过期时间,主要是为了避免对不再使用的图像使用存储。

我当前的代码是:

...
xmlns:q42Controls="using:Q42.WinRT.Controls"
...
<!-- Event Image
Source set to default image
Extension for using image cache-->
<Image Stretch="UniformToFill"
HorizontalAlignment="Center"
Source="/Assets/default_image.png"
q42Controls:ImageExtensions.CacheUri="{Binding Image.Url}"/>

有没有任何方法可以指示框架缓存的图像的过期时间?

肯定没有删除旧图像的功能,所以我实现了更改,并提出了一个拉取请求,将其集成到Q42.WinRT库中。现在Nuget上提供的1.3.0.42版本有可用的更改。

在应用程序初始化时(在我的例子中是app.xaml.cs),我添加了以下行:

await WebDataCache.Clear(TimeSpan.FromDays(1));

这将删除在给定时间段内未修改的所有文件。

最新更新