TGViewer
Android Broadcast Android Broadcast @android_broadcast · 14.5K subscribers
Post #9138 4.68K

Forwarded from Compose Broadcast

⚙️ Нужно ли проставлять аннотации @Stable и @Immutable сразу при написании кода? 🤔 Мой ответ — НЕТ!

Не стоит заниматься преждевременной оптимизацией. Пишите UI без оглядки на аннотации стабильности, а затем используйте инструменты анализа, чтобы определить, где действительно возникают лишние рекомпозиции и есть смысл оптимизировать типы.

Как анализировать рекомпозиции и пропуски?
👉 Используйте Layout Inspector в Android Studio (подробнее — в этом посте)
👉 Включайте отслеживание работы composable-функций в System Trace
👉 Можно воспользоваться библиотекой Compose Investigator, чтобы получать детальные логи по рекомпозициям

‼️ Важный нюанс:
Если вы используете типы из внешних библиотек или из модулей, где не подключён Compose Compiler, такие типы всегда считаются Unstable. Это может приводить к лишним рекомпозициям.

🚀 Strong Skipping Mode действительно упростил жизнь разработчикам, но старайтесь передавать в параметры Сomposable-функций только Stable или Immutable типы. Это позволит максимально эффективно использовать skipping и сделать UI более производительным.

#compose
  • 👍 18
  • 🔥 5
More from @android_broadcast
  1. Oct 6, 2026Разыгрываю 2 билета на Podlodka AI Crew Условия - Подписаться на @rozov_blog - Подписаться…
  2. Oct 6, 2026Post #10227
  3. Oct 5, 2026🐱 Релиз Maven MCP 1.0. Агент сам смотрит актуальные версии зависимостей и что в них помен…
  4. Oct 5, 2026🤖 Библиотека Android скиллов для AI-агентов расширяется и пополняется новыми. Там однозна…
  5. Oct 5, 2026🤖 Вышла первая Beta Android 17 QPR3. Кроме багофикса и патчей безопасности больше ничего…
  6. Oct 2, 2026🤖 Android Device Streaming теперь в Android CLI Android CLI - терминальная утилита от ком…
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 →