如何减少在Windows手机中的启动时间,影响应用程序启动时间的所有限制是什么。运行市场测试套件时,有时会通过启动时间结果,有时会失败;实际上我正在努力确定它失败的地方,我如何识别地方问题,我尝试使用性能分析工具,但没有找到任何解决方案。 此加载时间的另一个疑问是,这个加载时间是如何计算的,它与第一页的加载有关,或者它检查应用程序中的整个页面。 我怎样才能减少这个加载时间.....
答案 0 :(得分: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 performance”,你可以获得更多的提示。
答案 1 :(得分:2)
首先,从Activated,Constructor,OnNavigatedTo和Loaded事件中推出所有硬处理。如果可能的话,进行延迟处理(例如,使用BackgroundWorker) 其次 - 减少装配尺寸:将图像设为内容而非资源。如果可能的话,减少图像大小(根本不要在应用程序中使用图像缩小),如果有大量代码在大多数时间没有使用,可能将项目分成不同的程序集。
希望有所帮助