xamarin 表单 shell 在大页面之间切换缓慢

问题描述 投票:0回答:1

我有一个应用程序,它使用 shell 应用程序格式通过底部的选项卡栏在三个相等的页面之间切换,以及通过侧边栏访问的一些不太相关的页面。 问题是这些页面有一些相当重的地图视图,上面有很多元素。页面上的视图元素清除和重绘的方式,切换可能有点缓慢。即使看到页面延迟一秒也不是最佳选择,有时可能会达到五秒。刚开始时,这可以通过“闪屏”的形式来处理,但在导航时,这就不好了。

我可以简单地使所有三个页面存在于同一内容页面上,并通过隐藏或显示相关地图视图进行切换,我尝试过,它是零延迟的,但在真正这样做之前,我想知道是否有内置的修复程序这使用了 shell 和多个不同的内容页面。不可能是唯一一个有这个问题的人。

performance xamarin.forms
1个回答
0
投票

您可以尝试优化您的代码以提高加载效率。 我们无法看到您代码的详细信息,但我们通常会采取以下措施来确保流程更加高效:

1.选择正确的布局

能够显示多个子项但只有一个子项的布局是浪费的。此外,不要尝试通过使用其他布局的组合来重现特定布局的外观,因为这会导致执行不必要的布局计算。

2.优化图片资源

当将高分辨率图像缩小到较小的尺寸进行显示时,在内存中解码该图像是一种浪费。相反,通过创建接近预测显示尺寸的存储图像版本来减少 CPU 使用率和内存占用。例如,列表视图中显示的图像很可能比全屏显示的图像具有更低的分辨率。

3.减小视觉树大小

减少页面上的元素数量将使页面渲染速度更快。有两种主要技术可以实现这一目标。第一个是隐藏不可见的元素。第二种技术是删除不必要的元素。

4.减小应用程序资源字典大小

整个应用程序使用的任何资源都应存储在应用程序的资源字典中以避免重复。这将有助于减少整个应用程序中必须解析的 XAML 数量。

更多信息,您可以查看文档:提高应用性能 .

© www.soinside.com 2019 - 2024. All rights reserved.