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

时间:2015-04-27 10:49:58

标签: windows-phone-8.1 winrt-xaml

我正在扩展之前提出的有关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}"/>

有没有办法表明框架缓存图像的过期时间?

1 个答案:

答案 0 :(得分:0)

绝对没有删除旧图片的功能,因此我实施了更改并制作了pull request以将其集成到Q42.WinRT library中。 版本1.3.0.42 now available on Nuget可以进行更改。

在应用初始化(我的情况下为App.xaml.cs)时,我添加了以下行:

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

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