在我的UWP应用程序中,我绑定了azure的图像。它在获得响应时被缓存。当我更改azure中的图像时,它不会反映在我的UI中,而是显示来自缓存的图像。 有没有办法清除我的UWP应用程序的缓存或限制应用程序缓存图像?。
答案 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
,因此您也应该能够使用数据绑定。