¿Qué sucede con UIViewController cuando minimizas la aplicación?
sobes.tech AI
Respuesta de la IA
Al minimizar la aplicación, el UIViewController que se muestra actualmente pasa por las siguientes etapas del ciclo de vida:
- viewWillDisappear: Este método se llama antes de que la vista del controlador deje de ser visible. Aquí se puede guardar el estado de la interfaz de usuario o cancelar operaciones.
- viewDidDisappear: Este método se llama después de que la vista del controlador esté completamente oculta.
- applicationWillResignActive: Se llama en el
AppDelegateantes de que la aplicación pase de estado activo a inactivo (por ejemplo, al minimizar o recibir una llamada). - applicationDidEnterBackground: Se llama en el
AppDelegatedespués de que la aplicación entra en segundo plano. En este estado, la aplicación tiene un tiempo limitado para realizar tareas y puede ser suspendida o terminada por el sistema. ElUIViewControllerpermanece en memoria, pero su vista no se muestra.
Si la aplicación permanece en segundo plano y no se cierra por el sistema, al volver a activarse, el UIViewController pasa por las etapas inversas:
- applicationWillEnterForeground: Se llama en el
AppDelegateantes de que la aplicación vuelva del fondo a activo. - applicationDidBecomeActive: Se llama en el
AppDelegatedespués de que la aplicación vuelve a estar activa. - viewWillAppear: Se llama antes de que la vista del controlador sea visible. Aquí se puede actualizar la interfaz de usuario.
- viewDidAppear: Se llama después de que la vista del controlador se vuelve visible.
Es importante notar que el objeto UIViewController no se elimina de la memoria al minimizarse, a menos que el sistema lo descarte explícitamente por falta de recursos (lo cual ocurre raramente y depende de muchos factores). La vista (view) del controlador también puede ser descargada de la memoria (viewWillUnload, viewDidUnload - métodos eliminados en iOS 6) si no se necesita en ese momento y el sistema requiere memoria. En ese caso, al acceder a view nuevamente, se creará desde cero.