Lebenszyklus der Xamarin.Forms-App

Die Application-Basisklasse bietet folgende Features:

Lebenszyklusmethoden

Die Application-Klasse enthält drei virtuelle Methoden, die überarbeitet werden können, um auf Lebenszyklusänderungen zu reagieren:

  • OnStart: Wird aufgerufen, wenn die App startet.
  • OnSleep: Wird jedes Mal aufgerufen, wenn die Ausführung der App im Hintergrund fortgesetzt wird.
  • OnResume: Wird aufgerufen, wenn die App aus dem Hintergrund aufgerufen und fortgesetzt wird.

Hinweis

Es gibt keine Methode zum Beenden der App. Unter normalen Umständen (d.h. kein Absturz) wird die App im Status OnSleep beendet, ohne dass Ihr Code darüber benachrichtigt wird.

Implementieren Sie wie nachfolgend veranschaulicht einen WriteLine-Aufruf in jeder Methode, und testen Sie diesen auf jeder Plattform. So können Sie beobachten, wann die Methoden aufgerufen werden.

protected override void OnStart()
{
    Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
    Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
    Debug.WriteLine ("OnResume");
}

Wichtig

Unter Android wird die OnStart-Methode rotierend und beim ersten Ausführen der App aufgerufen, wenn ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation im [Activity()]-Attribut in der Hauptaktivität nicht vorhanden ist.

Die Application-Klasse verfügt über zwei Ereignisse, die Benachrichtigungen zu angezeigten und ausgeblendeten Seiten bereitstellt:

  • PageAppearing: Wird ausgelöst, wenn eine Seite auf dem Bildschirm angezeigt wird.
  • PageDisappearing: Wird ausgelöst, wenn eine Seite auf dem Bildschirm ausgeblendet wird.

Diese Ereignisse können in Szenarios verwendet werden, bei denen Sie Seiten beim Anzeigen auf dem Bildschirm nachverfolgen möchten.

Hinweis

Die Ereignisse PageAppearing und PageDisappearing werden unmittelbar nach den Ereignissen Page.Appearing und Page.Disappearing in der Page-Basisklasse ausgelöst.

Es gibt vier Ereignisse in der Application-Klasse (jedes enthält eigen Ereignisargumente), mit deren Hilfe Sie auf modale Seiten reagieren können, die angezeigt und geschlossen werden:

  • ModalPushing: Wird ausgelöst, wenn eine Seite modal mithilfe von Push übertragen wird.
  • ModalPushed: Wird ausgelöst, nachdem eine Seite modal mithilfe von Push übertragen wurde.
  • ModalPopping: Wird ausgelöst, wenn eine Seite modal angehalten wird.
  • ModalPopped: Wird ausgelöst, nachdem eine Seite modal angehalten wurde.

Hinweis

Die ModalPopping-Ereignisargumente vom Typ ModalPoppingEventArgs enthalten eine Cancel-Eigenschaft. Wenn Cancel auf true festgelegt ist, wird der modale Pop geschlossen.