XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2016/08/16

Xamarin.Forms 的應用程式生命週期

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");
        }
    }
這份筆記的範例專案可以底下網址取得

沒有留言:

張貼留言