Ukázka životního cyklu aplikace pro Xamarin.iOS
Tento článek a vzorový kód demonstrují čtyři stavy aplikace v iOSu a roli AppDelegate
metod při upozorňování aplikace na to, kdy se stavy změní. Aplikace vytiskne aktualizace konzoly pokaždé, když aplikace změní stav:
Názorný postup
Otevřete projekt Životního cyklu v řešení LifecycleDemo.
AppDelegate
Otevřete třídu. Protokolování bylo přidáno do metod životního cyklu, které indikují, kdy aplikace změnila stav:public override void OnActivated(UIApplication application) { Console.WriteLine("OnActivated called, App is active."); } public override void WillEnterForeground(UIApplication application) { Console.WriteLine("App will enter foreground"); } public override void OnResignActivation(UIApplication application) { Console.WriteLine("OnResignActivation called, App moving to inactive state."); } public override void DidEnterBackground(UIApplication application) { Console.WriteLine("App entering background state."); } // not guaranteed that this will run public override void WillTerminate(UIApplication application) { Console.WriteLine("App is terminating."); }
Spusťte aplikaci v simulátoru nebo na zařízení.
OnActivated
bude volána při spuštění aplikace. Aplikace je teď ve stavu Aktivní .Stisknutím tlačítka Domů na simulátoru nebo zařízení přeneste aplikaci na pozadí.
OnResignActivation
aDidEnterBackground
bude volána jako přechod aplikace zeActive
stavu doInactive
a doBackgrounded
stavu. Vzhledem k tomu, že na pozadí není nastavený žádný kód aplikace, je aplikace považována za pozastavenou v paměti.Vraťte se do aplikace, abyste ji vrátili do popředí.
WillEnterForeground
aOnActivated
oba budou volána:Následující řádek kódu v kontroleru zobrazení se spustí, když aplikace zadá popředí z pozadí a změní text zobrazený na obrazovce:
UIApplication.Notifications.ObserveWillEnterForeground ((sender, args) => { label.Text = "Welcome back!"; });
Stisknutím tlačítka Domů aplikaci umístěte na pozadí. Potom poklepejte na tlačítko Domů a zobrazte přepínač aplikace. Na i Telefon X potáhněte prstem nahoru ze spodní části obrazovky:
Vyhledejte aplikaci v přepínači aplikací a potáhnutím prstem nahoru ji odeberte (v iOSu 11 stiskněte dlouho, dokud se v rohu nezobrazí červené ikony):
iOS aplikaci ukončí. Všimněte si, že není volána, WillTerminate
protože aplikace je již pozastavena na pozadí.