none
关于页面状态保存引发的性能问题 RRS feed

  • 问题

  • 我有一个列表页+一张单页,

    对两个页面都是做了页面状态保存

     protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
            {
                if (e.NavigationMode != System.Windows.Navigation.NavigationMode.Back)
                {
                    this.State["viewmodel"] = vm;
                }
            }

    发现添了这句之后,从列表页点击进入单面非常的慢,从单页返回列表页更慢,要花上将近2s,列表页用了pivot控件,单页也用了。请问有没有好的方法可以解决这个问题?

    2012年6月12日 8:14

答案

全部回复

  • 建议你不要把整个vm都保存到state里,可以保存一些程序永久配置数据到独立存储空间中。据我所知Pivot控件数据量大时加载确实挺慢,数据量对速度有很大的影响。
    2012年6月13日 8:05
  • 建议你在恢复pivot页面的时候 先选择当前的select index恢复,避免一次加载过大的数据。


    不以善小而不为,不以恶小而为之

    2012年6月13日 8:27