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 :
Procédure pas à pas
Ouvrez le projet Cycle de vie dans la solution LifecycleDemo .
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."); }
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 .Appuyez sur le bouton Accueil du simulateur ou de l’appareil pour mettre l’application en arrière-plan.
OnResignActivation
etDidEnterBackground
sera appelé en tant que transitions d’application versActive
Inactive
et vers l’étatBackgrounded
. É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.Revenez à l’application pour la ramener au premier plan.
WillEnterForeground
etOnActivated
sera tous les deux appelés :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!"; });
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 :
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) :
iOS met fin à l’application. Notez qu’il WillTerminate
n’est pas appelé, car l’application est déjà suspendue en arrière-plan.