Sobes.tech
Junior

¿Qué métodos del ciclo de vida de Activity conoces y cómo se ejecutan?

sobes.tech AI

Respuesta de la IA

  • onCreate(): Se llama cuando la Activity se crea por primera vez. Se usa para inicializar la interfaz de usuario y los datos.
  • onStart(): La Activity se vuelve visible para el usuario.
  • onResume(): La Activity se vuelve activa y está en primer plano. El usuario puede interactuar con ella.
  • onPause(): Se llama cuando la Activity pasa a segundo plano o una otra Activity la cubre parcialmente. Se usa para guardar el estado que necesita ser restaurado rápidamente.
  • onStop(): La Activity ya no es visible para el usuario. Se usa para liberar recursos no utilizados.
  • onDestroy(): Se llama antes de que la Activity sea destruida. Se usa para limpiar los recursos finales.
  • onRestart(): Se llama después de onStop(), cuando la Activity vuelve a ser visible.

Secuencia de ejecución de métodos al iniciar: onCreate() -> onStart() -> onResume().

Secuencia de ejecución al pasar a segundo plano (por ejemplo, al presionar el botón de inicio): onPause() -> onStop().

Secuencia de ejecución al volver del fondo: onRestart() -> onStart() -> onResume().

Secuencia de ejecución al destruir la Activity: onPause() -> onStop() -> onDestroy().

Al girar la pantalla, la Activity se destruye y se crea de nuevo. Secuencia: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Para guardar el estado, se usa onSaveInstanceState() (llamado antes de onStop()) y la restauración en onCreate() o onRestoreInstanceState() (llamado después de onStart()).

class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // Inicialización de la UI
        // Restaurar estado desde savedInstanceState
    }

    override fun onStart() {
        super.onStart()
        // La Activity se vuelve visible
    }

    override fun onResume() {
        super.onResume()
        // La Activity está en primer plano, disponible para interacción
    }

    override fun onPause() {
        super.onPause()
        // La Activity pasa a segundo plano
        // Guardar estado que se puede restaurar rápidamente
    }

    override fun onStop() {
        super.onStop()
        // La Activity no es visible
        // Liberar recursos
    }

    override fun onDestroy() {
        super.onDestroy()
        // La Activity se destruye
        // Limpieza final de recursos
    }

    override fun onRestart() {
        super.onRestart()
        // La Activity regresa del fondo
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Guardar estado antes de destruir
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Restaurar estado
    }
}