yadianna 发表于 2015-5-13 11:15:47

Windows Phone 7 Tip (5)

  在新的trainning kit 中有一个例子解释的很清楚了:
  1. Application_Launching:只有在新启动程序时触发
  2. Application_Closing:只有在推出程序时触发--只有在程序mainpage时按硬后退键
  3. Application_Activated:从home键或者其它方式离开,back键返回时触发
  4. Application_Deactivated:从home键或者其它方式离开时触发
  Application_Launching和Application_Activated是互斥的,不会同时触发;Application_Closing和Application_Deactivated也如此!
  
  在page level有2个触发事件,分别是离开和返回页面的时候。




protected override void OnNavigatedFrom(NavigationEventArgs e)
protected override void OnNavigatedTo(NavigationEventArgs e)
  
  基本原则:在相应离开事件处理方法中存储app或者page 的state,在返回时读取。但是比如app中有一个list,新启动程序或者返回时都需要把之前存储好的数据显示出来,那么就要在Application_Launching和
  Application_Activated读取本地存储。前者要自己实现,后者有PhoneApplicationService支持。其实如果跟踪app lifecycle就会发现,无论是新启动app或者从其他地方返回,都会初始化app和page,那么在相应的构造函数中读取存储数据其实是最合适的,适应所有情况!
  
  
  
页: [1]
查看完整版本: Windows Phone 7 Tip (5)