【问题标题】:Images are Getting cached in UWP application图像正在 UWP 应用程序中缓存
【发布时间】:2017-12-21 22:46:51
【问题描述】:

在我的 UWP 应用程序中,我从 azure 绑定图像。它在收到响应时被缓存。当我更改 azure 中的图像时,它不会反映在我的 UI 中,而是显示来自缓存的图像。 有什么方法可以清除我的 UWP 应用程序的缓存或限制应用程序缓存图像?。

【问题讨论】:

    标签: xaml uwp windows-store-apps


    【解决方案1】:

    你试过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,所以你应该也可以使用数据绑定。

    【讨论】:

    • 我最初是直接在 Image 元素上设置源属性(而不是在 BitmapImage 上),并且我使用 x:Bind 效果很好。但是当使用这个解决方案时,x:Bind 不起作用。有什么方法可以使用 x:Bind 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多