XAML-Windows Phone 8,使用数据透视控件缓慢加载

达米安

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

我的主页具有以下结构:

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

   </PivotControl>

我总共有5个PivotItems,每个这些项目都有自己的api调用来获取这些项目,以便可以显示它们。每个“透视”项目首先加载12个元素,并且在用户开始滚动时会加载更多元素。

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

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

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

EDIT3:几乎所有(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控件相关。这将冻结UI。
  2. 始终对源进行异步调用,这将使UI在任务完成时继续运行。
  3. 使用OnNavigatedTo(如果通过网络传输大量数据,则使用缓存的数据),并使用异步方法。

这些应该可以使您的UI恢复正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows Phone XAML数据绑定

来自分类Dev

Windows Phone 8.1 XAML StringFormat

来自分类Dev

在Windows Phone 8上从App.xaml.cs运行任务

来自分类Dev

Windows Phone 8 TextBlock切断XAML的文本

来自分类Dev

在Windows 8 Phone C#中更改XAML网格背景

来自分类Dev

适用于Windows Phone 8(XAML)的Microsoft广告SDK

来自分类Dev

Windows Phone 8:C#XAML如何检测形状冲突

来自分类Dev

XAML解析异常,编译Windows Phone 8项目

来自分类Dev

Windows Phone 8 TextBlock切断XAML的文本

来自分类Dev

侧面菜单xaml导航错误Windows Phone 8

来自分类Dev

Windows Phone 8-找不到XAML错误

来自分类Dev

在Windows Phone 8上从App.xaml.cs运行任务

来自分类Dev

XAML解析异常,编译Windows Phone 8项目

来自分类Dev

Windows Phone 8:C#XAML如何检测形状冲突

来自分类Dev

在Windows Phone 8.1的xaml中使用原始类型

来自分类Dev

在Windows Phone中使用C#而不是XAML的ContentTemplate

来自分类Dev

使用XAML隐藏Windows Phone 8.1中的状态栏

来自分类Dev

在Windows Phone 8.1的xaml中使用原始类型

来自分类Dev

Windows Phone 8:如何使用MVVM加载每个数据透视表项的内容?

来自分类Dev

使用设备屏幕宽度以编程方式将Hubtile控件添加到xaml Windows Phone

来自分类Dev

DatePicker XAML Windows Phone 8.1禁用日期

来自分类Dev

在Windows Phone中以编程方式添加XAML

来自分类Dev

Windows Phone 8.1 XAML广告介体

来自分类Dev

XAML绑定问题中的ImageSource Windows Phone

来自分类Dev

Xaml ListView的异常行为(Windows Phone 8.1)

来自分类Dev

对当前类xaml Windows Phone的引用

来自分类Dev

XAML绑定问题中的ImageSource Windows Phone

来自分类Dev

Windows Phone 8.1 XAML:将枚举值放入XAML属性

来自分类Dev

使用C#将XAML设置为Windows Phone 8 App的计时器

Related 相关文章

  1. 1

    Windows Phone XAML数据绑定

  2. 2

    Windows Phone 8.1 XAML StringFormat

  3. 3

    在Windows Phone 8上从App.xaml.cs运行任务

  4. 4

    Windows Phone 8 TextBlock切断XAML的文本

  5. 5

    在Windows 8 Phone C#中更改XAML网格背景

  6. 6

    适用于Windows Phone 8(XAML)的Microsoft广告SDK

  7. 7

    Windows Phone 8:C#XAML如何检测形状冲突

  8. 8

    XAML解析异常,编译Windows Phone 8项目

  9. 9

    Windows Phone 8 TextBlock切断XAML的文本

  10. 10

    侧面菜单xaml导航错误Windows Phone 8

  11. 11

    Windows Phone 8-找不到XAML错误

  12. 12

    在Windows Phone 8上从App.xaml.cs运行任务

  13. 13

    XAML解析异常,编译Windows Phone 8项目

  14. 14

    Windows Phone 8:C#XAML如何检测形状冲突

  15. 15

    在Windows Phone 8.1的xaml中使用原始类型

  16. 16

    在Windows Phone中使用C#而不是XAML的ContentTemplate

  17. 17

    使用XAML隐藏Windows Phone 8.1中的状态栏

  18. 18

    在Windows Phone 8.1的xaml中使用原始类型

  19. 19

    Windows Phone 8:如何使用MVVM加载每个数据透视表项的内容?

  20. 20

    使用设备屏幕宽度以编程方式将Hubtile控件添加到xaml Windows Phone

  21. 21

    DatePicker XAML Windows Phone 8.1禁用日期

  22. 22

    在Windows Phone中以编程方式添加XAML

  23. 23

    Windows Phone 8.1 XAML广告介体

  24. 24

    XAML绑定问题中的ImageSource Windows Phone

  25. 25

    Xaml ListView的异常行为(Windows Phone 8.1)

  26. 26

    对当前类xaml Windows Phone的引用

  27. 27

    XAML绑定问题中的ImageSource Windows Phone

  28. 28

    Windows Phone 8.1 XAML:将枚举值放入XAML属性

  29. 29

    使用C#将XAML设置为Windows Phone 8 App的计时器

热门标签

归档