Xamarin.Forms アプリのライフサイクル

Application の基底クラスでは、次の機能が提供されています。

ライフサイクル メソッド

Application クラスには 3 つの仮想メソッドが含まれており、それをオーバーライドしてライフサイクルの変化に対応できます。

  • OnStart - アプリケーションの起動時に呼び出されます。
  • OnSleep - アプリケーションがバックグラウンドに移行するたびに呼び出されます。
  • OnResume - バックグラウンドに送られたアプリケーションが再開するときに呼び出されます。

Note

アプリケーションの終了のメソッドはありません。 通常の (つまり、クラッシュではない) 状況では、アプリケーションの終了は 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 クラスには、ページの表示と消去の通知を提供する 2 つのイベントがあります。

  • PageAppearing - ページが画面に表示されようとしているときに発生します。
  • PageDisappearing - ページが画面から消去されようとしているときに発生します。

画面に表示されるページを追跡する必要があるシナリオで、これらのイベントを使用できます。

Note

PageAppearing イベントと PageDisappearing イベントは、それぞれ Page.Appearing イベントと Page.Disappearing イベントの直後に、Page 基底クラスから生成されます。

Application クラスには、それぞれが独自のイベント引数を持つ 4 つのイベントがあり、それを使用してモーダル ページの表示と消去に応答できます。

  • ModalPushing - ページがモーダルでプッシュされるときに発生します。
  • ModalPushed - ページがモーダルでプッシュされた後に発生します。
  • ModalPopping - ページがモーダルでポップされるときに発生します。
  • ModalPopped - ページがモーダルでポップされた後に発生します。

Note

型が ModalPoppingEventArgs である ModalPopping のイベント引数には、Cancel プロパティが含まれています。 Canceltrue に設定されると、モーダル ポップアップは取り消されます。