Windows 10 UWP - 如何在显示页面之前预加载页面
本文关键字:加载 显示 UWP Windows | 更新日期: 2023-09-27 18:31:11
我正在开发一个涉及使用大量图像的Windows 10应用程序。就目前而言,从一个页面导航到另一个页面会导致几秒钟的"弹出",因为页面上的各种图像加载并且结果相当卡顿
那么 TL;DR - 是否可以在向用户显示页面内容之前预加载页面内容,以便从页面 x 到页面 y 的过渡顺利进行?
我尝试过谷歌搜索解决方案,但我不知道是我使用错误的白话还是无法完成。
是否可以在向用户显示页面内容之前预加载页面内容,以便从页面 x 到页面 y 的过渡顺利进行?
在 UWP 应用中,在加载页面之前,必须调用 Frame.Navigate()。此方法中应该有一些操作,例如:分配内存、加载资源、渲染。因此,对于您的方案,在我看来,不可能在显示页面资源之前预加载它们。
避免使用大尺寸的图像是一种可能的解决方案。或者,如果您只想加载大量小图像,
通过使用增量加载,可以将列表控件绑定到任意大的数据源,并且仍然可以实现高性能。
当您需要在一页中加载大量图像时,正确的方法是使用带有数据绑定的 ISupportIncrementalLoad。可以深入参考数据绑定。
下面是官方 XAML 数据绑定示例,方案 8 是关于增量加载的。尽管这是 Windows 8.1 应用,但此方法也可以在 UWP 应用中使用。
我在这里写了一个简单的增量加载演示,它只是使用一个GridView
和内部Image
在一个页面中加载和显示 1000 张图像。
你的朋友是Loaded
事件,UIElement
加载到视图中后会被触发。
您可以执行以下操作:默认情况下,图像列表为 Opacity
= 0,并设置 加载事件:图像列表 Opacity
= 1。这样,您可以确保列表在加载之前不可见:)