gpt4 book ai didi

c# - XAML - Windows Phone 8,使用 Pivot Control 缓慢加载

转载 作者:行者123 更新时间:2023-11-30 16:58:35 24 4
gpt4 key购买 nike

我有一个 Windows Phone 8 应用程序,我想知道为什么我的主页加载速度很慢。

我的主页有以下结构:

    <PivotControl>
<PivotItem>
<LongListSelector/>
</PivotItem> Times 5

</PivotControl>

我总共有 5 个 PivotItems,其中每个项目都有自己的 api 调用来获取项目,以便可以显示它们。每个 Pivot Item 首先加载 12 个元素,并在用户开始滚动时加载更多元素。

我的问题是,有没有人遇到过拥有大量元素的沉重主页的问题?您做了哪些改进以使页面加载速度更快。我已经减少了显示的元素数量(在我在每个 PivotItem 中加载 40 个元素之前)。

编辑:我的 ListItemTemplate 非常干净(我已经清理它以使其在 XAMLcode 中更轻)它有一个网格,其中包含 em-globes 和 InvokeCommandAction、一个图像、一个边框和 3 个 TextBlocks

编辑2:当用户不在我的 PivotItem 上时,我通过折叠我的不同 LongListSelector 获得了大约 30% 的加载时间,因此我隐藏了 2 LongListSelector。我在中间(当然)和左边显示 PivotItem,当用户向左或向右滑动时,我会重新加载并隐藏必要的元素。它不漂亮,但有帮助。

编辑3:几乎 (90%) 我的所有样式都已放置在我的 StylePage 中并被调用来设置我的元素的样式。我发现在用户进入和离开页面时添加一点动画,可以让我在页面之间有更好的过渡。这是我的经典转换代码:

<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn" />
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn" />
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>

最佳答案

我在您的问题中没有看到两件事,但我认为我会添加它们会对您有所帮助。

  1. 不要在构造函数或 Loaded 事件中加载/初始化您的数据,因为它们与 UI 控件相关联。这将卡住用户界面。
  2. 始终对源进行异步调用,这将允许 UI 在任务完成时继续。
  3. 使用 OnNavigatedTo(如果有大量数据通过网络流式传输,则使用缓存数据),并使用异步方法。

这些应该能让您的 UI 恢复速度。

关于c# - XAML - Windows Phone 8,使用 Pivot Control 缓慢加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25114676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com