Дмитрий Симаков@dmitriy_simakov
Android разработчик
Информация
- В рейтинге
- 914-й
- Откуда
- Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Разработчик мобильных приложений
Старший
От 300 000 ₽
Kotlin Multiplatform
Jetpack Compose
Kotlin
Android SDK
MVVM
Dagger 2
Coroutines
Clean Architecture
Flow
Думаю целиком сохранять UiState не стоит, часть стэйта может быть восстановлена путём повторного запроса к бэку. Главное сохранить то, что требуется для восстановления стэка. В остальном нужно ориентироваться на бизнесс трбования. Ну и отдельно подумать по поводу чувствительных данных.
Да, верно. Тут нужно решить с бизнесом и командой, готовы ли вы тратить время разработки на то, чтобы обрабатывать восстановление приложения. Разумеется это будет работать, только если на всех экранах в стэке должным образом сохраняется состояние.
По хорошему данные вьюмодели, которые не могут быть повторно загружены нужно тоже сериализовать и сохранять (обычно при помощи SavedStateHandle). К сожалению многие на это просто забивают и поэтому приложения восстанавливаются с потерей всех данных и стэка.
rememberNavBackStack сериализует стэк навигации. Благодаря этому стэк может быть восстановлен после смерти процесса.
Если не использовать rememberNavBackStack, то юзера выкинет на начальный экран.