tgoop.com/compose_broadcast/694
Last Update:
Свойства должны быть только для чтения (val). var допускается, если гарантируется стабильное поведение при изменениях.
Все поля должны быть либо примитивами (Int, String, Boolean и т.д.), либо тоже Stable.Свойства типа () -> Unit не считаются Stable, если не помечены аннотацией @Stable.
Лямбда сама по себе считается Stable типом, но важно что захватывает лямбда в теле и это может приводить к рекомпозиции
Переопределённые методы могут сделать тип не Stable.
Проще говоря тип считается Stable, если:
👉 Его данные не изменяются неожиданно,
👉 Он не содержит ссылок на нестабильные объекты,
👉 Все его поля либо примитивные, либо Stable-типы.
Подробнее в документации
#compose
