TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #4083 403
Как Compose Preview работает под капотом

Compose Preview в Android Studio кажется магией: поставил @Preview — и UI уже рендерится в IDE. Но под капотом там довольно сложный пайплайн. @Preview — это не поведение, а просто метаданные, которые Studio считывает из байткода. Дальше IDE собирает synthetic XML, прокидывает его в ComposeViewAdapter, поднимает фейковый lifecycle, а сам composable вызывается через reflection с учётом скрытых параметров, которые добавляет Compose compiler.

Самое интересное — почему preview иногда “ломается”. В preview-среде есть только имитация Android runtime: например, lifecycle переводится сразу в RESUMED, но попытка запустить ActivityResult специально падает с ошибкой, потому что реальной Activity нет. Ещё статья хорошо показывает, откуда берётся LocalInspectionMode.current == true и как Studio потом связывает отрисованные пиксели с конкретными строками исходников через ViewInfo.

Полезный разбор для тех, кто хочет не просто пользоваться Compose Preview, а понимать, почему он работает именно так — и почему иногда не работает.

Статья: https://doveletter.dev/preview/articles/compose-preview-internals 🇺🇸
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
More from @applib
  1. Oct 12, 2026Swift AI Agent Demo - интеллектуальное рассуждение ИИ-агента Swift AI Agent Demo — это нат…
  2. Oct 9, 2026Как использование нейросетей изменило игровую индустрию и homebrew-cцену Игровая индустрия…
  3. Oct 9, 2026📺 Видео и подкасты за неделю • (iOS En) Pinterest Context Menu Using SwiftUI • (iOS En) C…
  4. Oct 9, 2026Spock ADB - отладка Android-приложений без выхода из IDE Анализируйте, управляйте и отлажи…
  5. Oct 8, 2026Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет Начиналось всё как не…
  6. Oct 8, 2026Redlamp - фото-редактор для Mac, iPad и iPhone Нативный RAW фото-редактор с открытым исход…
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 →