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