Parámetros estables frente a inestables
Comprenda qué permite omitir Composables.
Parámetros estables frente a inestables es una lección gratuita de Jetpack Compose Academy en CoddyKit. Esta es la lección 1 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 Jetpack Compose Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Jetpack Compose Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
What Skipping Means
When a Composable re-runs but its inputs have not changed, Compose can skip it entirely. Skipping is how fast Compose apps stay fast. 🚀
Stability Decides Skipping
Compose only skips a Composable when every parameter is stable. One unstable input and the whole function re-executes on each recomposition.
What "Stable" Promises
A type is stable when Compose trusts that equals() is reliable and that public properties will not change without telling Compose.
Naturally Stable Types
Primitives, String, and function types are stable out of the box, so passing an Int or a lambda never blocks skipping.
fun Greeting(name: String, count: Int) {
Text("Hello $name x$count")
}val Properties Are Stable
A class with only val properties of stable types is itself stable. Immutable data is the friendliest input you can give Compose.
data class User(val id: Int, val name: String)var Makes a Type Unstable
A mutable var property can change behind Compose's back, so the class becomes unstable and its Composable can no longer skip.
data class Counter(var value: Int)Collections Look Unstable
Plain List, Map, and Set are treated as unstable, because the interface could hide a mutable ArrayList underneath.
fun ItemRow(items: List<String>) { }Why Interfaces Worry Compose
An interface parameter is unstable: the concrete implementation is unknown at compile time, so Compose cannot guarantee its equals() behaves.
Strong Skipping Mode
Newer Compose ships strong skipping, which lets unstable parameters compare by reference, so many cases skip without extra annotations.
Spotting Unstable Inputs
If a Composable redraws every frame for no visible reason, suspect an unstable parameter forcing a full re-run each time.
Stability Is About Trust
Stability is a promise to Compose, not magic. The more immutable your inputs are, the more work Compose is free to skip.
Quick Check
Test your grasp of stability.
Recap: Stable Wins
Compose skips a Composable only when every input is stable. Favor primitives, Strings, and val-only classes to keep redraws cheap. ✅
Preguntas frecuentes
¿La lección «Parámetros estables frente a inestables» es gratis?
Sí — el texto completo de «Parámetros estables frente a inestables» 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 Jetpack Compose Academy, actualiza a CoddyKit PRO. El curso de Jetpack Compose Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Parámetros estables frente a inestables»?
Comprenda qué permite omitir Composables. Practicas Jetpack Compose 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 Jetpack Compose Academy?
No se requiere experiencia previa. Jetpack Compose 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 1 de 4.
¿Cuánto tiempo toma la lección «Parámetros estables frente a inestables»?
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 Jetpack Compose Academy?
Sí. Cada lección de Jetpack Compose 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
- Parámetros estables frente a inestables
- Omisión, @Stable y @Immutable
- Diferir las lecturas de estado
- Layout Inspector y recuento de recomposiciones