0Pricing
Android Academy · Lección

La recomposición explicada

Descubra cómo Compose actualiza la interfaz

La recomposición explicada es una lección gratuita de Android Academy en CoddyKit. Esta es la lección 2 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 la recomposición?

La recomposición consiste en que Compose vuelve a ejecutar sus funciones composable para actualizar la interfaz cuando cambia el estado que han leído. Así la pantalla se mantiene sincronizada con sus datos.

Se activa al leer el estado

Compose registra qué composables leen cada estado. Cuando cambia un valor de estado, solo se programa la recomposición de los composables que lo han leído.

Inteligente y selectiva

La recomposición es selectiva: Compose intenta volver a ejecutar lo mínimo posible. Un cambio en una parte del estado no vuelve a dibujar toda la pantalla, sino únicamente las partes que dependen de ella.

Omisión

Si las entradas de un composable no han cambiado, Compose puede omitir por completo su ejecución. Así la recomposición sigue siendo económica incluso en pantallas complejas.

Los composables se ejecutan a menudo

Como la recomposición puede producirse con frecuencia y en cualquier orden, sus composables deben ser seguros de volver a ejecutar. Llamarlos varias veces debe producir la misma interfaz para el mismo estado.

Evite los efectos secundarios

No realice efectos secundarios (llamadas de red, escritura de archivos o modificación de variables compartidas) directamente en el cuerpo de un composable. Podrían ejecutarse en cada recomposición. Use el estado y las API de efectos en su lugar.

// BAD: runs on every recomposition
@Composable
fun Bad() {
    saveToDatabase()
    Text("Hi")
}

Independencia del orden

No puede dar por supuesto que los composables se ejecuten en un orden concreto o en un subproceso específico. Trate cada llamada de forma independiente. Esta libertad permite a Compose optimizar de forma tan intensiva.

Leer frente a no leer

Solo los composables que leen un estado se recomponen cuando este cambia. Si un Text nunca lee count, cambiar count no lo afecta.

@Composable
fun Demo() {
    var count by remember { mutableStateOf(0) }
    Text("Static")          // never recomposes from count
    Text("Count: $count")    // recomposes when count changes
    Button(onClick = { count++ }) { Text("+") }
}

Evite los bucles de recomposición

Escribir en el estado durante la composición (fuera de un evento) puede provocar un bucle infinito de recomposición. Actualice el estado únicamente desde devoluciones de llamada como onClick, nunca directamente en el cuerpo.

Parece automático

Desde su punto de vista, la recomposición es automática. Declara la interfaz como una función del estado, cambia el estado en las devoluciones de llamada y Compose se encarga de volver a ejecutar los composables adecuados.

Unir todos los conceptos

Este contador demuestra la recomposición: al pulsar, cambia count, Compose vuelve a ejecutar el Text que lo lee y aparece el nuevo número.

@Composable
fun Counter() {
    var count by remember { mutableStateOf(0) }
    Button(onClick = { count++ }) {
        Text(text = "Count: $count")
    }
}

Comprobación rápida

¿Cuándo recompone Compose un composable?

Repaso

Aspectos esenciales de la recomposición:

  • Los cambios de estado provocan la nueva ejecución de los composables que leen ese estado.
  • Es selectiva y puede omitir los composables que no han cambiado.
  • Los composables deben carecer de efectos secundarios y ser seguros de volver a ejecutar en cualquier orden.

Preguntas frecuentes

¿La lección «La recomposición explicada» es gratis?

Sí — el texto completo de «La recomposición explicada» 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 «La recomposición explicada»?

Descubra cómo Compose actualiza la interfaz 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 2 de 4.

¿Cuánto tiempo toma la lección «La recomposición explicada»?

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. Estado con remember y mutableStateOf
  2. La recomposición explicada
  3. Elevación del estado
  4. rememberSaveable
← Volver a Android Academy