Un Activity tiene un ciclo de vida dentro de nuestra Aplicación que va desde que lo llamamos o creamos hasta que lo dejamos de utilizar, es importante conocerlo para saber cómo es que se comporta cuando se realizan ciertas actividades en función del Sistema Operativo pero también del propio dispositivo, es decir, el SO es quién decide cuando cambia de estado en el ciclo de vida del Activity pero como mencioné cuando se manipula y se gira el dispositivo el estado de nuestro Activity también se ve afectado.
El siguiente diagrama muestra los estados y transiciones de un Activity en su ejecución.
Ahora veremos qué significa o a qué se refieren los estados del ciclo de vida del Activity.
Al Iniciar o lanzar el Activity
onCreate()
Como su nombre lo dice es cuando se crea el Activity por primera vez y donde se deben crear vistas, botones, enlace de datos, etc., todas las configuraciones estáticas que se van a utilizar.
onStart()
Viene después de crear el Activity y es el método que la inicia y se vuelva visible para el usuario.
onResume()
Éste método se ejecuta justo antes de que el usuario interactúe con el Activity ya que es el que lo pone en la parte superior de la pila de actividades.
Mientras el Activity se está ejecutando
onPause()
Este método se usa para confirmar los cambios sin guardar, detener animaciones y otros procesos que podrían estar consumiendo CPU. Es llamado por el Sistema Operativo cuando el usuario está a punto de llamar a otro Activity o ponerlo en segundo plano.
onStop()
Cuando el Activity ya no es visible para el usuario ya sea porque se abrió uno nuevo o se reanudó otro que estaba abierto y se puso por delante de este.
onRestart()
Cuando el Activity se pone onStop() pero se quiere interactuar nuevamente con él es cuando se llama a éste método siguiendo el método onStart().
onDestroy()
De la misma manera que onRestart(), cuando el Activity se pone en onStop(), pero ahora el Activity ya no es requerido y se va a cerrar por completo se llama a éste método para destruir el Activity.