Udostępnij za pośrednictwem


Pokaz cyklu życia aplikacji dla platformy Xamarin.iOS

W tym artykule i przykładowym kodzie przedstawiono cztery stany aplikacji w systemie iOS oraz rolę AppDelegate metod w powiadamianiu aplikacji o zmianie stanu. Aplikacja będzie drukować aktualizacje do konsoli za każdym razem, gdy aplikacja zmieni stan:

Przykładowa aplikacja

Aplikacja będzie drukować aktualizacje do konsoli za każdym razem, gdy aplikacja zmieni stan

Przewodnik

  1. Otwórz projekt cyklu życia w rozwiązaniu LifecycleDemo.

  2. Otwórz klasę AppDelegate . Rejestrowanie zostało dodane do metod cyklu życia, aby wskazać, kiedy aplikacja uległa zmianie stanu:

    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.");
    }
    
  3. Uruchom aplikację w symulatorze lub na urządzeniu. OnActivated zostanie wywołana po uruchomieniu aplikacji. Aplikacja jest teraz w stanie Aktywny .

  4. Naciśnij przycisk Narzędzia główne w symulatorze lub urządzeniu, aby przenieść aplikację do tła. OnResignActivation i DidEnterBackground będzie wywoływany jako aplikacja przechodzi z Active do Inactive i do Backgrounded stanu. Ponieważ w tle nie ma ustawionego kodu aplikacji, aplikacja jest uznawana za zawieszoną w pamięci.

  5. Wróć do aplikacji, aby przywrócić ją na pierwszym planie. WillEnterForeground i OnActivated będą wywoływane:

    Zmiany stanu wydrukowane w konsoli

    Następujący wiersz kodu w kontrolerze widoku jest wykonywany po wprowadzeniu pierwszego planu aplikacji z tła i zmienia tekst wyświetlany na ekranie:

    UIApplication.Notifications.ObserveWillEnterForeground ((sender, args) => {
        label.Text = "Welcome back!";
    });
    
  6. Naciśnij przycisk Narzędzia główne, aby umieścić aplikację w tle. Następnie naciśnij dwukrotnie przycisk Narzędzia główne , aby wyświetlić przełącznik aplikacji. Na ekranie i Telefon X przesuń palcem w górę z dołu ekranu:

    Przełącznik aplikacji

  7. Znajdź aplikację w przełączniku aplikacji i przesuń palcem w górę, aby ją usunąć (w systemie iOS 11 naciśnij długo, aż czerwone ikony pojawią się w rogu):

    Szybkie przesunięcie w górę w celu usunięcia uruchomionej aplikacji

System iOS zakończy działanie aplikacji. Pamiętaj, że nie jest wywoływana, WillTerminate ponieważ aplikacja jest już zawieszona w tle.