图像正在UWP应用程序中缓存

时间:2017-07-17 11:50:28

标签: xaml uwp windows-store-apps

在我的UWP应用程序中,我绑定了azure的图像。它在获得响应时被缓存。当我更改azure中的图像时,它不会反映在我的UI中,而是显示来自缓存的图像。 有没有办法清除我的UWP应用程序的缓存或限制应用程序缓存图像?。

1 个答案:

答案 0 :(得分:3)

您是否尝试过CreateOptions="IgnoreImageCache"

<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding Url}" 
                     CreateOptions="IgnoreImageCache" 
                     DecodePixelWidth="120" 
                     DecodePixelHeight="120" />
    </Image.Source>
</Image>

但请确保设置正确的解码像素宽度/高度,以避免使用不必要的内存。

根据documentation -

  

在情况下,您应该只使用BitmapCreateOptions.IgnoreImageCache   你知道由Uniform检索的源图像文件   资源标识符(URI)有可能随时间而变化。   否则,设置要使用的CreateOptions   BitmapCreateOptions.IgnoreImageCache导致所有新检索的图像   要再次解码的源,这会对性能产生负面影响。

因此,可以尝试将None设置为CreateOptions的默认值,并且只有在您完全确定图片已由云更新后才会将其更新为IgnoreImageCache。注意CreateOptions也是dependency property,因此您也应该能够使用数据绑定。