TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.2K subscribers
Post #4764 923
Как изолировать ViewModel по записи навигации в Android Navigation 3

После миграции с Navigation 2 вызов viewModel() может сохранять состояние экрана: в Compose-приложении с одной Activity модель по умолчанию привязана к Activity.

Для отдельной ViewModel у каждой записи добавьте lifecycle-viewmodel-navigation3:2.10.0 и передайте в NavDisplay декораторы rememberSaveableStateHolderNavEntryDecorator() и rememberViewModelStoreNavEntryDecorator(). Новая запись получит свой экземпляр, а удаление из стека очистит его.

Готовая конфигурация NavDisplay поможет выбрать между свежим состоянием экрана и общей моделью.
  • 🤝 3
More from @mobi_dev
  1. Sep 25, 2026Как добавить свайп-действия в Android без устаревшего API В Compose Material 3 компонент S…
  2. Sep 25, 2026Как обновлять схемы SwiftData и не ломать данные после релиза После обновления iOS-приложе…
  3. Sep 25, 2026Как передать изображение в Foundation Models и получить Swift-структуру Мультимодальный вв…
  4. Sep 24, 2026Как собирать диагностику iOS-приложения через MetricKit Xcode Organizer показывает сбои, з…
  5. Sep 24, 2026Как довести код ИИ-агента в iOS до TestFlight Donny Wals разбирает пайплайн, в котором аге…
  6. Sep 23, 2026Как заменить List собственным контейнером в SwiftUI Для больших однородных наборов данных…
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 →