Какие знаешь фазы у Jetpack Compose

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

Ответ

Jetpack Compose имеет три основные фазы жизненного цикла:

  1. Composition – фаза построения UI-дерева. Composable-функции вызываются, и Compose строит дерево элементов.
  2. Layout – измерение и размещение элементов. Каждый узел дерева определяет свои размеры и позицию.
  3. Drawing – отрисовка элементов на экране.

Пример:

@Composable
fun MyComponent() {
    Text("Hello") // Composition
    Box(modifier = Modifier.size(100.dp)) { // Layout
        Text("World") // Drawing
    }
}

Нюансы:

  • Изменение состояния (State) перезапускает фазу Composition.
  • Modifier.layout позволяет кастомизировать Layout-фазу.
  • Оптимизации (например, remember) помогают избежать лишних рекомпозиций.