Que se passe-t-il avec UIViewController lors de la mise en arrière-plan de l'application?
sobes.tech IA
Réponse de l'IA
Lors de la minimisation de l’application, le UIViewController actuellement affiché passe par les étapes suivantes du cycle de vie :
- viewWillDisappear : La méthode est appelée avant que la vue du contrôleur ne devienne invisible. Ici, vous pouvez sauvegarder l’état de l’interface utilisateur ou annuler des opérations.
- viewDidDisappear : La méthode est appelée après que la vue du contrôleur a été complètement masquée.
- applicationWillResignActive : La méthode est appelée dans le
AppDelegateavant que l’application ne passe de l’état actif à inactif (par exemple, lors de la minimisation ou de la réception d’un appel). - applicationDidEnterBackground : La méthode est appelée dans le
AppDelegateaprès que l’application est passée en arrière-plan. Dans cet état, l’application dispose d’un temps limité pour exécuter des tâches et peut être suspendue ou terminée par le système. LeUIViewControllerreste en mémoire, mais sa vue n’est pas affichée.
Si l’application reste en arrière-plan et n’est pas terminée par le système, lors du retour à l’état actif, le UIViewController passe par les étapes inverses :
- applicationWillEnterForeground : La méthode est appelée dans le
AppDelegateavant que l’application ne repasse du fond à l’état actif. - applicationDidBecomeActive : La méthode est appelée dans le
AppDelegateaprès que l’application est redevenue active. - viewWillAppear : La méthode est appelée avant que la vue du contrôleur ne devienne visible. Ici, vous pouvez mettre à jour l’UI.
- viewDidAppear : La méthode est appelée après que la vue du contrôleur est devenue visible.
Il est important de noter que l’objet UIViewController n’est pas supprimé de la mémoire lors de la minimisation, sauf si le système le décharge explicitement en raison d’un manque de ressources (ce qui est rare et dépend de nombreux facteurs). La vue (view) du contrôleur peut également être déchargée de la mémoire (viewWillUnload, viewDidUnload - méthodes supprimées dans iOS 6) si elle n’est pas nécessaire à ce moment et que le système a besoin de mémoire. Dans ce cas, lors de la prochaine accès à view, elle sera recréée.