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 上,OnStart
方法將會被輪流呼叫,同時也會在應用程式首次啟動時被呼叫,前提是主要活動在 [Activity()]
屬性中缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
。
頁面導覽事件
Application
類別上有兩個事件可提供頁面出現和消失的通知:
PageAppearing
- 頁面即將出現在畫面上時引發。PageDisappearing
- 頁面即將從畫面上消失時引發。
如果您想在畫面上出現頁面時追蹤它們,則可使用這些事件。
注意
PageAppearing
和 PageDisappearing
事件是分別在 Page.Appearing
和 Page.Disappearing
事件引發之後,立即從 Page
基底類別引發。
強制回應導覽事件
Application
類別上有四個事件,每個都有自己的事件引數,可讓您回應顯示與關閉的強制回應頁面:
ModalPushing
- 會在頁面被強制推送時引發。ModalPushed
- 會在頁面被強制推送後引發。ModalPopping
- 會在頁面被強制快顯時引發。ModalPopped
- 會在頁面被強制快顯後引發。
注意
ModalPopping
事件引數 (ModalPoppingEventArgs
型別) 包含 Cancel
屬性。 當 Cancel
設為 true
時,強制回應快顯已取消。