Android Academy · Lección

El ciclo de vida de Android

Comprenda los ciclos de vida de las activities y la composición

Lección 3 de 413 pasos

El ciclo de vida de Android es una lección gratuita de Android Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Android Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Android Academy incluye 4 lecciones en total.

¿Qué es el ciclo de vida?

Cada Activity de Android pasa por una serie de estados cuando el usuario abre, abandona y vuelve a la aplicación. Esto es el ciclo de vida.

Comprenderlo le permite iniciar y detener el trabajo en el momento adecuado.

Callbacks principales de Activity

Los callbacks clásicos del ciclo de vida de Activity se ejecutan en orden:

  • onCreate — se está creando la Activity.
  • onStart — pasa a ser visible.
  • onResume — está en primer plano e interactiva.
  • onPause / onStop / onDestroy — se abandona.

Un flujo habitual

Al abrir una aplicación: onCreate → onStart → onResume.

Al pulsar el botón de inicio: onPause → onStop.

Al volver: onRestart → onStart → onResume.

Estados y eventos del ciclo de vida

La biblioteca Lifecycle de Jetpack modela esto mediante States (CREATED, STARTED, RESUMED, DESTROYED) y Events (ON_CREATE, ON_START, ...).

Los componentes pueden observarlos en lugar de sobrescribir callbacks sin procesar.

LifecycleOwner

Las Activities, los Fragments y los hosts de Compose son LifecycleOwners. Exponen un objeto Lifecycle que otros componentes pueden observar.

val owner: LifecycleOwner = this // an Activity
val lifecycle = owner.lifecycle

Por qué es importante para los recursos

Muchos recursos solo deben estar activos mientras la pantalla sea visible:

  • Actualizaciones de ubicación.
  • Listeners de sensores.
  • Sesiones de cámara.

Inícielos en onStart/onResume y deténgalos en onStop/onPause para ahorrar batería y evitar fugas de memoria.

El ciclo de vida en Jetpack Compose

Los composables no tienen callbacks de Activity. En su lugar, tienen un ciclo de vida de la composición: entran en la composición, se recomponen y finalmente salen de ella.

Reaccionar a la composición con DisposableEffect

DisposableEffect ejecuta la configuración cuando un Composable entra en la composición y la limpieza cuando sale de ella.

@Composable
fun Screen() {
    DisposableEffect(Unit) {
        // setup, e.g. register listener
        onDispose {
            // cleanup when leaving composition
        }
    }
}

Observar el ciclo de vida real en Compose

Para reaccionar a eventos reales del ciclo de vida de una Activity desde un Composable, observe el LifecycleOwner con un DefaultLifecycleObserver.

@Composable
fun OnResume(onResume: () -> Unit) {
    val owner = LocalLifecycleOwner.current
    DisposableEffect(owner) {
        val obs = object : DefaultLifecycleObserver {
            override fun onResume(o: LifecycleOwner) = onResume()
        }
        owner.lifecycle.addObserver(obs)
        onDispose { owner.lifecycle.removeObserver(obs) }
    }
}

El ViewModel y el ciclo de vida

Recuerde: el ViewModel sobrevive a estados individuales del ciclo de vida, como onStart/onStop. Solo se elimina cuando el propietario desaparece de forma permanente. Precisamente por eso es seguro guardar el estado allí.

Integración de todos los conceptos

Una pantalla bien estructurada:

  • Mantiene el estado duradero en un ViewModel.
  • Inicia y detiene los recursos que solo son necesarios cuando la pantalla está visible, teniendo en cuenta el ciclo de vida.
  • Recopila los flujos solo mientras la interfaz de usuario está al menos en STARTED (en la siguiente lección).

Comprobación rápida

Compruebe sus conocimientos sobre el ciclo de vida.

Resumen

Ha aprendido lo siguiente:

  • Las Activities pasan por los estados CREATED, STARTED, RESUMED y DESTROYED.
  • Compose tiene su propio ciclo de vida de composición, gestionado mediante DisposableEffect.
  • Observe LifecycleOwner para reaccionar a eventos reales del ciclo de vida.
  • Los ViewModels sobreviven deliberadamente a estos estados.
Gratis para empezar

Aprende Kotlin con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
36
Lecciones
152

Preguntas frecuentes

¿La lección «El ciclo de vida de Android» es gratis?

Sí — el texto completo de «El ciclo de vida de Android» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Android Academy, actualiza a CoddyKit PRO. El curso de Android Academy incluye 4 lecciones en total.

¿Qué aprenderé en «El ciclo de vida de Android»?

Comprenda los ciclos de vida de las activities y la composición Practicas Android Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Android Academy?

No se requiere experiencia previa. Android Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «El ciclo de vida de Android»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Android Academy?

Sí. Cada lección de Android Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. ¿Por qué usar un ViewModel?
  2. Exponer el estado desde ViewModel
  3. El ciclo de vida de Android
  4. collectAsStateWithLifecycle
← Volver a Android Academy