Xamarin.Forms 的應用程式生命週期
這份筆記內容將會說明 Xamarin.Forms 的應用程式生命週期意義與用法;所謂應用程式的生命週期 (Application Life Cycle),指的是當應用程式產生、隱藏到背景或者回到前景的各種不同狀態。
在 Xamarin.Forms 的
Application
類別內,定義了三個事件,分別對應到上述的三種狀態,您可以根據這些狀態,在您的應用程式內,進行不同對應處理。
底下為
Application
類別這三個事件的宣告- OnStart表示當應用程式一旦啟動之後,就會執行這個方法。
- OnSleep表示當應用程式進入到背景狀態下,例如,使用者按下了
Home
按鈕,此時您的手機回到了首頁,又或者此時您執行了別的應用程式,這些情況下,您的應用程式就會進入到背景模式下,此時,這個方法就會被執行。 - OnResume表示當應用程式從背景模式下回到前景模式,也就是,使用者可以在螢幕上繼續操作與看到您的應用程式,此時,這個方法就會被執行。
//
// 摘要:
// Application developers override this method to perform actions when the application
// resumes from a sleeping state.
//
// 備註:
// To be added.
protected virtual void OnResume();
//
// 摘要:
// Application developers override this method to perform actions when the application
// enters the sleeping state.
//
// 備註:
// To be added.
protected virtual void OnSleep();
//
// 摘要:
// Application developers override this method to perform actions when the application
// starts.
//
// 備註:
// To be added.
protected virtual void OnStart();
您可以參考底下程式碼,此時,當您的應用程式一執行後,就會在 Visual Studio 除錯視窗內看到
OnStart
訊息,當您啟動別的應用程式或者按下手機上的 Home
按鈕,則Visual Studio 除錯視窗內看到 OnSleep
;若您操作讓您的應用程式回到了前景模式,則您會在Visual Studio 除錯視窗內看到 OnResume
文字。 public partial class App : Application
{
public App()
{
InitializeComponent();
MainPage = new XFLifeCycle.MainPage();
}
protected override void OnStart()
{
// Handle when your app starts
Debug.WriteLine("OnStart");
}
protected override void OnSleep()
{
// Handle when your app sleeps
Debug.WriteLine("OnSleep");
}
protected override void OnResume()
{
// Handle when your app resumes
Debug.WriteLine("OnResume");
}
}
這份筆記的範例專案可以底下網址取得