Windows Phone 7 中的启动时间

3
我该如何减少Windows Phone应用的启动时间?有哪些限制会影响应用程序的启动时间?在运行Marketplace测试工具时,有时会通过启动时间结果,有时会失败;我实际上正在努力确定它失败的地方,我该如何确定问题出现的位置?我尝试使用性能分析工具,但没有找到任何解决方案。另外,关于这个加载时间还有一个疑问,它是如何计算的?它是否与第一页的加载相关,或者它检查应用程序中的所有页面?我该如何减少这个加载时间......
2个回答

5

找出网页加载时间花费的地方。这项技术相当简单:

public partial class MyPage : PhoneApplicationPage
{
    int m_t0;

    public MyPage() {
        m_t0 = Environment.TickCount;
        MyListBox.Loaded += MyListBox_Loaded;
    }

    void MyListBox_Loaded(object sender, RoutedEventArgs e) {
        Debug.WriteLine("\n---------> {0} msec", Environment.TickCount - m_t0);
    }
 }

上述代码测量了页面构建和列表框加载的时间。这是您可以应用到任何地方的工具。
您可以从App.xaml.cs开始,其中包含几个有趣的条目,如构造函数和应用程序级事件,然后继续到页面级别并最终测量有趣的控件。如果您想要测量xaml加载时间,请测量在InitializeComponent()中花费的时间(调试此方法-它相当有教育意义)等等。
如果您理解应用程序生命周期、页面和控件的加载,则会有所帮助。
最后,您应该对时间的消耗有一个相当好的了解。然后,您可以开始优化并最终采用Ku6opr所描述的技术。如果您搜索“Windows Phone 7性能”,您可以获得更多提示。

2
首先,从Activated、Constructor、OnNavigatedTo和Loaded事件中移除所有的繁重处理。如果可能的话,进行延迟处理(例如使用BackgroundWorker)。 其次,减小程序集的大小:将图像设置为Content而非Resource。如果可能的话,缩小图像的尺寸(不要在应用程序中使用图像缩小),如果你有很多不经常使用的代码,可以考虑将项目拆分成不同的程序集。 希望这能帮到你。

如果你有很多不经常使用的代码,可以考虑将项目分成不同的程序集。此外,更改列表框的加载方式也可以帮助提高初始加载时间。我建议你关注这两个方面。 - invalidusername

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接