Share via


Démonstration du cycle de vie des applications pour Xamarin.iOS

Cet article et cet exemple de code illustrent les quatre états d’application dans iOS et le rôle des méthodes dans l’notification de AppDelegate l’application d’une modification des états. L’application imprime les mises à jour de la console chaque fois que l’application change d’état :

Exemple d’application

L’application imprime les mises à jour de la console chaque fois que l’application change d’état

Procédure pas à pas

  1. Ouvrez le projet Cycle de vie dans la solution LifecycleDemo .

  2. Ouvrez la AppDelegate classe. La journalisation a été ajoutée aux méthodes de cycle de vie pour indiquer quand l’application a changé d’état :

    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. Lancez l’application dans le simulateur ou sur l’appareil. OnActivated sera appelé lors du lancement de l’application. L’application est désormais dans l’état Actif .

  4. Appuyez sur le bouton Accueil du simulateur ou de l’appareil pour mettre l’application en arrière-plan. OnResignActivation et DidEnterBackground sera appelé en tant que transitions d’application vers ActiveInactive et vers l’état Backgrounded . Étant donné qu’aucun code d’application n’est défini pour s’exécuter en arrière-plan, l’application est considérée comme suspendue en mémoire.

  5. Revenez à l’application pour la ramener au premier plan. WillEnterForeground et OnActivated sera tous les deux appelés :

    Modifications d’état imprimées dans la console

    La ligne de code suivante dans le contrôleur d’affichage est exécutée lorsque l’application est entrée au premier plan à partir de l’arrière-plan et modifie le texte affiché à l’écran :

    UIApplication.Notifications.ObserveWillEnterForeground ((sender, args) => {
        label.Text = "Welcome back!";
    });
    
  6. Appuyez sur le bouton Accueil pour placer l’application en arrière-plan. Ensuite, appuyez deux fois sur le bouton Accueil pour afficher le commutateur d’application. Sur i Téléphone X, balayez vers le haut à partir du bas de l’écran :

    Sélecteur d’application

  7. Recherchez l’application dans le commutateur d’application et balayez vers le haut pour la supprimer (sur iOS 11, appuyez longuement jusqu’à ce que les icônes rouges apparaissent dans le coin) :

    Balayez vers le haut pour supprimer une application en cours d’exécution

iOS met fin à l’application. Notez qu’il WillTerminate n’est pas appelé, car l’application est déjà suspendue en arrière-plan.