我正在扩展之前提出的有关caching images locally in windows phone 8.1 app
的问题我正在Q42.WinRT framework中使用accepted answer中的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}"/>
有没有办法表明框架缓存图像的过期时间?
答案 0 :(得分:0)
绝对没有删除旧图片的功能,因此我实施了更改并制作了pull request以将其集成到Q42.WinRT library中。 版本1.3.0.42 now available on Nuget可以进行更改。
在应用初始化(我的情况下为App.xaml.cs)时,我添加了以下行:
await WebDataCache.Clear(TimeSpan.FromDays(1));
这将删除在给定时间范围内未经修改的所有文件。