UWP 图像有时在页面调整大小后不可见
UWP Image sometimes not visible until after page resize
我有一个非常标准的 UWP xaml windows 10 个应用程序,其中包含主页上的几张图片,我想大约有 50 张。
我已经使用图像 xaml 标签以正常方式定义图像并指定图像的来源 属性 以引用我的应用程序资产文件夹中的项目,
<Image Source="Assets/Image1.png"/>
我会说 75%-80% 的时间我的应用程序启动正常并且所有图像都在正确的位置和正确的大小等可见...但是有时我启动应用程序和一些图像不可见。通常这是 1-3 张图像。一旦我调整应用程序大小或触发更改图像源的事件,就会显示丢失的图像。
图像上还有一个 Tapped 事件处理程序。当您单击图像原本所在的位置时图像不可见时,将调用点击的处理程序。
我有点不知道是什么导致了这个问题。这几乎就像图像没有及时加载或者 GUI 在图像加载后没有收到页面刷新事件。就像我说的调整应用程序大小可以解决问题。
如有任何建议,我们将不胜感激。在此先感谢您的帮助。
此问题通常发生在系统内存不足时,因此它不会加载一些图像以降低负载。载入50张图片,特别是大图片可能会出现这样的问题。
将图像的 CacheMode
设置为 "BitmapCache"
可能会有所帮助(参见 documentation - 对于 WPF,但比 UWP 文档更详细)。否则,我建议确保您的图像不超过必要的大小,因为这会给机器带来不必要的压力。
此外,您可以使用 DecodePixelWidth
和 DecodePixelHeight
属性指定加载图像的大小。例如,当您在缩略图区域中显示大照片时,这会很有用。设置 DecodePixel
属性将优化 JPEG 和 PNG 图像的加载过程,这样就不必将整张照片从磁盘加载到内存中(参见 documentation)。
更新
根据@JohnnyWestlake 的建议,您可能需要查看 documentation 以获取有关图像优化的更多提示。有多个有用的提示可帮助尽可能减少图像的内存占用。
我有一个非常标准的 UWP xaml windows 10 个应用程序,其中包含主页上的几张图片,我想大约有 50 张。
我已经使用图像 xaml 标签以正常方式定义图像并指定图像的来源 属性 以引用我的应用程序资产文件夹中的项目,
<Image Source="Assets/Image1.png"/>
我会说 75%-80% 的时间我的应用程序启动正常并且所有图像都在正确的位置和正确的大小等可见...但是有时我启动应用程序和一些图像不可见。通常这是 1-3 张图像。一旦我调整应用程序大小或触发更改图像源的事件,就会显示丢失的图像。
图像上还有一个 Tapped 事件处理程序。当您单击图像原本所在的位置时图像不可见时,将调用点击的处理程序。
我有点不知道是什么导致了这个问题。这几乎就像图像没有及时加载或者 GUI 在图像加载后没有收到页面刷新事件。就像我说的调整应用程序大小可以解决问题。
如有任何建议,我们将不胜感激。在此先感谢您的帮助。
此问题通常发生在系统内存不足时,因此它不会加载一些图像以降低负载。载入50张图片,特别是大图片可能会出现这样的问题。
将图像的 CacheMode
设置为 "BitmapCache"
可能会有所帮助(参见 documentation - 对于 WPF,但比 UWP 文档更详细)。否则,我建议确保您的图像不超过必要的大小,因为这会给机器带来不必要的压力。
此外,您可以使用 DecodePixelWidth
和 DecodePixelHeight
属性指定加载图像的大小。例如,当您在缩略图区域中显示大照片时,这会很有用。设置 DecodePixel
属性将优化 JPEG 和 PNG 图像的加载过程,这样就不必将整张照片从磁盘加载到内存中(参见 documentation)。
更新
根据@JohnnyWestlake 的建议,您可能需要查看 documentation 以获取有关图像优化的更多提示。有多个有用的提示可帮助尽可能减少图像的内存占用。