在我的UWP应用程序中,我遇到了有时并非所有图像都被加载的问题。它通常是一两张图片,但我看到它至少有5张。
当图像消失时(例如在ListView
中),指向同一文件的所有图像都消失了。例如,ListViewItem
在右下角有一个十字,它可以是整个列表,也可以不是整个列表。
复制需要一段时间(10到30分钟),但我总是遇到问题。我的应用程序在调试模式下不超过100MB,所有图像都是本地的(应用程序未连接到互联网)。
有时通过直接(硬编码)XAML中的图像来加载图像,如下所示:
<Image Source="/Assets/Images/BackButton.png"/>
或者有时通过绑定我班级的财产:
<Image Source="{Binding Image}"/>
public string Image { get; set; }
这两种加载方法都会导致图像无法显示。
我的用户也报告文字没有正确显示,但我无法重现那个。我提到它是因为它可能是相关的。
编辑:我注意到当计算机处于低内存状态时(例如:其他程序使用90%的计算机内存),图像会被删除。有没有办法禁止删除图像以释放内存?
答案 0 :(得分:2)
在图像上设置CacheMode="BitmapCache"
可能会解决可能导致它的平台错误。
如果问题是由内存压力引起的 - 您可能需要确保使用较低分辨率的图像并使用分辨率与屏幕分辨率相符的图像。至少 - 您可能希望查看DecodePixelWidth
之类的内容,以确保加载图像的分辨率不会太高。