LazyColumn y LazyRow están reemplazando a RecyclerView en la interfaz de usuario anterior, pero al desplazar el elemento en RecyclerView y volver a él desaparecen y luego reciclan a la interfaz de usuario de optimización.
¿LazyColumn y LazyRow están haciendo lo mismo?
Lo encontré enJetpack Compose basics Codelab
Nota: LazyColumn no recicla sus hijos como RecyclerView. Emite nuevos Composables a medida que se desplaza y sigue funcionando, ya que emitir Composables es relativamente económico en comparación con la creación de instancias de Vistas de Android.
Después de la prueba, veo que LazyColumn solo compone elementos visibles. Y, al desplazarse, los elementos invisibles se recompondrán cuando vuelvan a estar visibles.
LazyColumn usa LazyList que usa LazyLayout y usa un SubComposeLayout para recomponer Composables secundarios cuando es necesario, a diferencia de tener una Columna con Modifier.verticalScroll() que compone todos sus Composables secundarios.
Subcomposable tiene una función de subcomposición que se puede llamar varias veces en el bloque de diseño. Esto es, por ejemplo, lo que sucede en LazyRow. El slotId permite que SubcomposeLayout rastree y administre las composiciones creadas llamando a subcompose. Por ejemplo, si está generando el contenido de una matriz, es posible que desee utilizar el índice de la matriz como su slotId, lo que permite que SubcomposeLayout determine qué subcomposición se generó la última vez que se debe utilizar durante la recomposición. Además, si no se usa más un slotid, SubcomposeLayout dispondrá de su composición correspondiente.
Puede leer la respuesta completa sobre SubcomposeLayout del desarrollador de Google aquí .