Что такое Recomposition

«Что такое Recomposition» — вопрос из категории Jetpack Compose, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Recomposition — это процесс перерисовки UI в Compose при изменении состояния. Когда данные (state) меняются, Compose автоматически пересоздает только те части интерфейса, которые зависят от этих изменений, а не весь экран.

Ключевые моменты:

  1. Работает только с State/MutableState
  2. Smart recomposition — пропускает неизменившиеся части UI
  3. Стабильные типы (@Stable) помогают оптимизировать процесс

Пример:

@Composable
fun Counter() {
    var count by remember { mutableStateOf(0) }
    Button(onClick = { count++ }) {
        Text("Clicked $count times") // Только этот Text будет recomposed
    }
}