应用程序生命周期
如何应对应用程序生命周期
该Application
基类提供了以下功能:
生命周期方法
本Application
类包含可以被覆盖处理生命周期方法三个虚拟方法:
-
OnStart - 应用程序启动时调用。
-
OnSleep - 每次应用程序进入后台调用。
-
OnResume - 在应用程序恢复后被发送到后台时调用。
请注意,没有应用程序终止的方法。在正常情况下(即不是崩溃)应用程序终止将发生在OnSleep状态,而没有任何额外的通知您的代码。
要观察这些方法的调用方式,WriteLine
请在每个平台上执行一个调用(如下所示)并进行测试。
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
当更新旧的 Xamarin.Forms应用程序(例如,使用Xamarin.Forms 1.3或更早版本创建)时,请确保Android主要活动包含ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
在该[Activity()]
属性中。如果不存在,您将看到OnStart
在旋转以及应用程序首次启动时调用的方法。此属性自动包含在当前的Xamarin.Forms应用程序模板中。
模态导航事件
Application
Xamarin.Forms 1.4中有四个新的事件,每个事件都有自己的事件参数:
- 模态推 -
ModalPushingEventArgs
- ModalPushed -
ModalPushedEventArgs
- ModalPopping -
ModalPoppingEventArgs
该类包含一个Cancel
属性。什么时候Cancel
设置true
的模态弹出已被取消。 - ModalPopped -
ModalPoppedEventArgs
这些事件将帮助您更好地管理应用程序生命周期,让您回复正在显示和关闭的模态页面。
为了实现应用程序生命周期方法和模态导航事件,所有
Xamarin.Forms使用此遗留行为的应用程序必须按照 Application类页面中所述更新为“Application”子 类。
Application
创建Xamarin.Forms应用程序(即,使用静态
GetMainPage
方法的1.2或更早版本的应用程序)的预先方法已被更新,以创建一个默认
Application
设置作为父母
MainPage
。
Xamarin.Forms使用此遗留行为的应用程序必须按照 Application类页面中所述更新为“Application”子 类。