Xamarin.Forms Cykl życia aplikacji

Klasa podstawowa Application udostępnia następujące funkcje:

Metody cyklu życia

Klasa Application zawiera trzy metody wirtualne, które można zastąpić w celu reagowania na zmiany cyklu życia:

  • OnStart — wywoływana po uruchomieniu aplikacji.
  • OnSleep — wywoływana za każdym razem, gdy aplikacja przechodzi do tła.
  • OnResume — wywoływana, gdy aplikacja zostanie wznowiona, po wysłaniu do tła.

Uwaga

Nie ma metody kończenia działania aplikacji. W normalnych okolicznościach (tj. nie awarii) zakończenie aplikacji zostanie wykonane ze stanu OnSleep bez żadnych dodatkowych powiadomień do kodu.

Aby zaobserwować, kiedy te metody są wywoływane, zaimplementuj wywołanie w każdym (jak pokazano poniżej) i przetestuj WriteLine na każdej platformie.

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

Ważne

W systemie Android OnStart metoda zostanie wywołana w rotacji, a także po pierwszym uruchomieniu aplikacji, jeśli główne działanie nie ma ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation atrybutu [Activity()] .

W klasie istnieją dwa zdarzenia Application , które dostarczają powiadomienia o wyświetlanych stronach i znikających:

Te zdarzenia mogą być używane w scenariuszach, w których chcesz śledzić strony w miarę ich wyświetlania na ekranie.

Uwaga

Zdarzenia PageAppearing i PageDisappearing są wywoływane z klasy bazowej Page bezpośrednio po zdarzeniach Page.Appearing i.Page.Disappearing

W klasie istnieją cztery zdarzenia Application , z których każdy ma własne argumenty zdarzenia, które umożliwiają reagowanie na wyświetlane i odrzucane strony modalne:

  • ModalPushing — podniesione, gdy strona jest modalnie wypchnięta.
  • ModalPushed - podniesione po stronie został wypchnięty modalnie.
  • ModalPopping - podniesione, gdy strona jest modalnie wyskoczona.
  • ModalPopped - podniesione po stronie został wyskoczony modalnie.

Uwaga

Argumenty ModalPopping zdarzeń typu ModalPoppingEventArgszawierają Cancel właściwość . Gdy Cancel jest ustawiona true na modalne okno podręczne, zostanie anulowane.