TGViewer
Compose Broadcast Compose Broadcast @compose_broadcast · 5.89K subscribers
Post #694 4K
⚙️ Критерии Stable типа:

1️⃣ Все свойства val (желательно)
Свойства должны быть только для чтения (val). var допускается, если гарантируется стабильное поведение при изменениях.

2️⃣ Все свойства Stable типов
Все поля должны быть либо примитивами (Int, String, Boolean и т.д.), либо тоже Stable.
Свойства типа () -> Unit не считаются Stable, если не помечены аннотацией @Stable.
Лямбда сама по себе считается Stable типом, но важно что захватывает лямбда в теле и это может приводить к рекомпозиции

3️⃣ Нет reflection и переопределения equals/hashCode
Переопределённые методы могут сделать тип не Stable.

Проще говоря тип считается Stable, если:
👉 Его данные не изменяются неожиданно,
👉 Он не содержит ссылок на нестабильные объекты,
👉 Все его поля либо примитивные, либо Stable-типы.

Подробнее в документации

#compose
  • 👍 26
  • 🔥 11
  • ❤ 7
More from @compose_broadcast
  1. Oct 2, 2026Post #987
  2. Oct 1, 2026🤖 Instagram Direct (мессенджер внутри приложения) переписали на Compose и результаты ВАУ…
  3. Oct 1, 2026⚡️⚡️Когда API недостаточно: хардкорные доклады на Mobius Mobius — профильная конференция п…
  4. Sep 29, 2026🤖 Wear Compose 1.7.0: жесты одной рукой и айтемы, которые уезжают за край, а не фейдятся…
  5. Sep 24, 2026⚙️ Эффект размытия и стекла для Compose Multiplaftom - вышел Haze 2.0 Modifier.hazeGlass(…
  6. Sep 24, 2026🐱 SIGO (Should I go outside?) - самое правильное приложение про погоду, дающее важный отв…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →