有时图片加载不出来

Sometimes images do not load

在我的 UWP 应用程序中,我遇到一个问题,有时并非所有图像都已加载。通常是一张或两张图片,但我看到它至少达到了 5 张。

当图像消失时(例如在 ListView 中),指向同一文件的所有图像都消失了。例如 ListViewItem 在右上角有一个十字,它要么在整个列表中存在,要么根本不存在。

重现需要一段时间(10 到 30 分钟),但我总是遇到问题。我的应用程序在调试模式下不超过 100MB,所有图像都是本地的(应用程序未连接到互联网)。

有时图像是通过直接(硬编码)XAML 中的图像来加载的,如下所示:

<Image Source="/Assets/Images/BackButton.png"/>

或者有时通过绑定到我的 class 中的 属性:

<Image Source="{Binding Image}"/>
public string Image { get; set; }

这两种加载方式都会导致图片有时不显示。

我的用户也报告说文本显示不正确,但我无法重现该文本。我提到它是因为它可能是相关的。

编辑: 我注意到当计算机处于低内存状态时(例如:其他程序正在使用计算机内存的 90%),图像会被删除。有没有办法禁止删除图像以释放内存?

在图像上设置 CacheMode="BitmapCache" 可能会解决可能导致它的平台错误。

如果问题是由内存压力引起的 - 您可能需要确保使用较低分辨率的图像并使用分辨率适合您的屏幕分辨率的图像。至少 - 您可能需要查看 DecodePixelWidth 之类的内容,以确保加载图像的分辨率不会太高。