Lebenszyklus der Xamarin.Forms-AppXamarin.Forms App Lifecycle

Die Application-Basisklasse bietet folgende Features:The Application base class provides the following features:

LebenszyklusmethodenLifecycle methods

Die Application-Klasse enthält drei virtuelle Methoden, die überarbeitet werden können, um auf Lebenszyklusänderungen zu reagieren:The Application class contains three virtual methods that can be overridden to respond to lifecycle changes:

  • OnStart: Wird aufgerufen, wenn die App startet.OnStart - called when the application starts.
  • OnSleep: Wird jedes Mal aufgerufen, wenn die Ausführung der App im Hintergrund fortgesetzt wird.OnSleep - called each time the application goes to the background.
  • OnResume: Wird aufgerufen, wenn die App aus dem Hintergrund aufgerufen und fortgesetzt wird.OnResume - called when the application is resumed, after being sent to the background.

Hinweis

Es gibt keine Methode zum Beenden der App.There is no method for application termination. Unter normalen Umständen (d.h. kein Absturz) wird die App im Status OnSleep beendet, ohne dass Ihr Code darüber benachrichtigt wird.Under normal circumstances (i.e. not a crash) application termination will happen from the OnSleep state, without any additional notifications to your code.

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.To observe when these methods are called, implement a WriteLine call in each (as shown below) and test on each platform.

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.On Android, the OnStart method will be called on rotation as well as when the application first starts, if the main activity lacks ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation in the [Activity()] attribute.

Benachrichtigungsereignisse für SeitenPage notification events

Die Application-Klasse verfügt über zwei Ereignisse, die Benachrichtigungen zu angezeigten und ausgeblendeten Seiten bereitstellt:There are two events on the Application class that provide notification of pages appearing and disappearing:

  • PageAppearing: Wird ausgelöst, wenn eine Seite auf dem Bildschirm angezeigt wird.PageAppearing - raised when a page is about to appear on the screen.
  • PageDisappearing: Wird ausgelöst, wenn eine Seite auf dem Bildschirm ausgeblendet wird.PageDisappearing - raised when a page is about to disappear from the screen.

Diese Ereignisse können in Szenarios verwendet werden, bei denen Sie Seiten beim Anzeigen auf dem Bildschirm nachverfolgen möchten.These events can be used in scenarios where you want to track pages as they appear on screen.

Hinweis

Die Ereignisse PageAppearing und PageDisappearing werden unmittelbar nach den Ereignissen Page.Appearing und Page.Disappearing in der Page-Basisklasse ausgelöst.The PageAppearing and PageDisappearing events are raised from the Page base class immediately after the Page.Appearing and Page.Disappearing events, respectively.

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:There are four events on the Application class, each with their own event arguments, that let you respond to modal pages being shown and dismissed:

  • ModalPushing: Wird ausgelöst, wenn eine Seite modal mithilfe von Push übertragen wird.ModalPushing - raised when a page is modally pushed.
  • ModalPushed: Wird ausgelöst, nachdem eine Seite modal mithilfe von Push übertragen wurde.ModalPushed - raised after a page has been pushed modally.
  • ModalPopping: Wird ausgelöst, wenn eine Seite modal angehalten wird.ModalPopping - raised when a page is modally popped.
  • ModalPopped: Wird ausgelöst, nachdem eine Seite modal angehalten wurde.ModalPopped - raised after a page has been popped modally.

Hinweis

Die ModalPopping-Ereignisargumente vom Typ ModalPoppingEventArgs enthalten eine Cancel-Eigenschaft.The ModalPopping event arguments, of type ModalPoppingEventArgs, contain a Cancel property. Wenn Cancel auf true festgelegt ist, wird der modale Pop geschlossen.When Cancel is set to true the modal pop is cancelled.