Xamarin.Forms 应用生命周期
Application
基类提供下列功能:
- 生命周期方法
OnStart
、OnSleep
和OnResume
。 - 页导航事件
PageAppearing
、PageDisappearing
。 - 模式导航事件
ModalPushing
、ModalPushed
、ModalPopping
和ModalPopped
。
生命周期方法
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");
}
重要
在 Android 上,若主活动的 [Activity()]
属性缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
,旋转时及首次启动应用程序时,将调用 OnStart
方法。
页导航事件
Application
类上有两个事件,可提供页面显示和消失通知:
PageAppearing
- 页面即将在屏幕上显示时引发。PageDisappearing
- 页面即将从屏幕上消失时引发。
这些事件可用于要在页面在屏幕上显示时进行跟踪的场景。
注意
在 Page.Appearing
和 Page.Disappearing
事件后,从 Page
基类中将分别引发 PageAppearing
和 PageDisappearing
事件。
模式导航事件
Application
类上有四个事件,每个都有其自己的参数,使你能够响应如下所示和解除的模式页面:
ModalPushing
- 按模式推送页面时将引发它。ModalPushed
- 按模式推送页面后将引发它。ModalPopping
- 按模式弹出页面时将引发它。ModalPopped
- 按模式弹出页面后将引发它。
注意
ModalPoppingEventArgs
类型的 ModalPopping
事件参数,包含 Cancel
属性。 如果 Cancel
设置为 true
,将取消模式弹出。