Восстановление навигации после смерти процесса
Вопрос
Пользователь был на третьем экране оформления, приложение выгрузили в фоне. Что должно произойти при возврате?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Восстановиться стек и введённые данные: на Android это ожидаемо, на iOS через сохранённый путьправильный ответ
- Ничего особенного: мобильные ОС не выгружают приложения в фоне, пока есть свободная память
- Приложение должно стартовать с нуля с главного экрана, это нормальное поведение для мобильных ОС
- Восстанавливается только последний экран без стека и без введённых данных, остальное теряется
Разбор
На Android система восстанавливает back stack и вызывает экраны с сохранённым состоянием (SavedStateHandle, rememberSaveable), но данные из памяти теряются, и это частый источник крэшей. На iOS выгрузка в фоне тоже обычна, восстановление делают через сохранение пути навигации и черновиков. «Начать с нуля» на третьем шаге оплаты это плохой опыт. Выгрузка в фоне происходит постоянно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Обработка deep link от клика до экрана
Следующий вопрос
Навигация в мобильном приложении: координаторы и роутеры