Xamarin.FormsŽivotní cyklus aplikace App Lifecycle

ApplicationZákladní třída nabízí následující funkce:The Application base class provides the following features:

Metody životního cykluLifecycle methods

ApplicationTřída obsahuje tři virtuální metody, které mohou být přepsány, aby reagovaly na změny v životním cyklu:The Application class contains three virtual methods that can be overridden to respond to lifecycle changes:

  • OnStart– Voláno při spuštění aplikace.OnStart - called when the application starts.
  • OnSleep– volá se při každém přechodu aplikace na pozadí.OnSleep - called each time the application goes to the background.
  • OnResume– volá se, když se po odeslání na pozadí obnoví aplikace.OnResume - called when the application is resumed, after being sent to the background.

Poznámka

Neexistuje žádná metoda pro ukončení aplikace.There is no method for application termination. V normálních případech (tj. nejedná se o selhání) dojde k ukončení aplikace v režimu spánku bez jakýchkoli dalších oznámení vašeho kódu.Under normal circumstances (i.e. not a crash) application termination will happen from the OnSleep state, without any additional notifications to your code.

Chcete-li sledovat, kdy jsou tyto metody volány, implementujte WriteLine volání v každém (jak je vidět níže) a testujte na každé platformě.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");
}

Důležité

V Androidu OnStart bude metoda volána při rotaci a také při prvním spuštění aplikace, pokud hlavní aktivita chybí ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation v [Activity()] atributu.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.

Existují dvě události Application třídy, které poskytují oznámení o zobrazených a nezobrazených stránkách:There are two events on the Application class that provide notification of pages appearing and disappearing:

  • PageAppearing– Vyvolá se v případě, že se stránka zobrazí na obrazovce.PageAppearing - raised when a page is about to appear on the screen.
  • PageDisappearing– Vyvolá se v případě, že se stránka z obrazovky zmizí.PageDisappearing - raised when a page is about to disappear from the screen.

Tyto události lze použít ve scénářích, ve kterých chcete sledovat stránky tak, jak se zobrazí na obrazovce.These events can be used in scenarios where you want to track pages as they appear on screen.

Poznámka

PageAppearingUdálosti a PageDisappearing jsou vyvolány ze Page základní třídy ihned po Page.Appearing Page.Disappearing událostech a v uvedeném pořadí.The PageAppearing and PageDisappearing events are raised from the Page base class immediately after the Page.Appearing and Page.Disappearing events, respectively.

Existují čtyři události Application třídy, každý s vlastními argumenty události, které umožňují reagovat na zobrazené a chybějící modální stránky: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– vyvoláno, když je stránka vložena do modálního.ModalPushing - raised when a page is modally pushed.
  • ModalPushed– je aktivována po modálním vložení stránky.ModalPushed - raised after a page has been pushed modally.
  • ModalPopping– vyvoláno, když je stránka v modálním případě vyjmuta.ModalPopping - raised when a page is modally popped.
  • ModalPopped– je aktivována po modálním odebrání stránky.ModalPopped - raised after a page has been popped modally.

Poznámka

ModalPoppingArgumenty události typu ModalPoppingEventArgs obsahují Cancel vlastnost.The ModalPopping event arguments, of type ModalPoppingEventArgs, contain a Cancel property. Když Cancel je nastaven na true modální pop, je zrušen.When Cancel is set to true the modal pop is cancelled.