Выбор ответа Junior Навигация, координаторы и deep links обновлено
Back stack на Android
Вопрос
Что происходит с back stack, если открыть экран с флагом popUpTo("login") { inclusive = true } в Navigation Compose после успешного входа?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Экраны до логина включительно снимаются со стека, и «назад» не вернёт на вход. popUpTo снимает экраны со стека до указанного маршрута, inclusive = true снимает и его самого.
Варианты ответа
- Логин остаётся под главным экраном, а
inclusiveлишь убирает анимацию - Приложение закрывается, потому что стек остаётся пустым до показа нового экрана
- Стек полностью очищается, включая новый экран, и навигация начинается заново
- Экраны до логина включительно снимаются со стека, и «назад» не вернёт на входправильный ответ
Разбор
popUpTo снимает экраны со стека до указанного маршрута, inclusive = true снимает и его самого. Это стандартный приём для потоков входа и онбординга: после завершения пользователь не должен возвращаться назад кнопкой. Новый экран добавляется после очистки и остаётся в стеке.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.