0Pricing
Jetpack Compose Academy · Урок

Рекомпозиция: что вызывает перерисовку

Разберитесь, когда Compose повторно выполняет ваш код.

«Рекомпозиция: что вызывает перерисовку» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What Is Recomposition?

Recomposition is Compose re-running your Composable functions to update the screen after some state they read has changed.

Triggered by State Reads

A redraw is triggered only when a piece of state a Composable read actually changes. No state change means no recomposition.

Only Readers Re-Run

Compose is smart: it re-runs only the Composables that read the changed state, not your whole screen. This keeps updates cheap.

Recomposition Can Skip

If a Composable's inputs did not change, Compose may skip re-running it entirely. Unchanged work is simply reused.

It Can Run Out of Order

Compose may recompose Composables in any order or even in parallel. Never assume one runs before another.

It Can Run Often

Recomposition can happen frequently, even every animation frame. Your Composable code should be fast and lightweight.

Keep Composables Pure

Treat Composables as side-effect free. Avoid writing files or starting work directly in the body, since it may re-run many times.

@Composable
fun Greeting(name: String) {
    Text("Hi " + name)
}

Watch a Counter Recompose

Each time count changes, the Text that reads it recomposes and shows the new number, while untouched siblings stay put.

var count by remember { mutableStateOf(0) }
Text("Value: " + count)

Don't Do Heavy Work Inline

Running an expensive calculation in the body repeats it on every recomposition. Move it out or remember the result.

remember Caches Computations

Wrap a costly value in remember so Compose computes it once and reuses it across recompositions instead of redoing the work.

val sorted = remember(items) { items.sorted() }

Mental Model

Think of the UI as a function of state. Change the state, Compose recomputes the affected parts, and the screen follows.

Quick Check

What actually triggers a recomposition?

Recap

You now know recomposition re-runs only the readers of changed state, can run often and out of order, so keep Composables fast and pure. 🎯

Часто задаваемые вопросы

Урок «Рекомпозиция: что вызывает перерисовку» бесплатный?

Да — полный текст урока «Рекомпозиция: что вызывает перерисовку» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.

Чему я научусь в уроке «Рекомпозиция: что вызывает перерисовку»?

Разберитесь, когда Compose повторно выполняет ваш код. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?

Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Рекомпозиция: что вызывает перерисовку»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?

Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. remember и mutableStateOf
  2. Рекомпозиция: что вызывает перерисовку
  3. Создание счётчика нажатий
  4. rememberSaveable при повороте
← Назад к Jetpack Compose Academy