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,将取消模式弹出。