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