Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: compose, annotation, recomposition, immutable, stable

Для чего в Jetpack Compose используются аннотации @Stable и @Immutable?

Проверяет понимание Compose и оптимизации recomposition.

Короткий ответ

@Immutable гарантирует, что объект не изменяется → безопасен для кеширования. @Stable — объект может меняться, но уведомляет Compose корректно.

Длинный ответ

@Immutable: все свойства val или @Immutable.

@Immutable
data class Message(val id: Int, val text: String)

@Stable: mutables с гарантией предсказуемости.

@Stable
class Counter {
    	var value by mutableStateOf(0)
}

Плюсы:

  • Меньше лишних recomposition.

  • Улучшение производительности.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#compose

#annotation

#recomposition

#immutable

#stable

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.