Форма пустая после возврата из фона, хотя поворот переживала
Экран заполнения анкеты хранит введённые данные в ViewModel. При повороте всё сохраняется. Но тестировщик воспроизвёл другой сценарий: заполнить половину формы, свернуть приложение, поработать в других приложениях полчаса, вернуться — форма пустая, экран открылся заново.
Почему так происходит?
- Дело в способе хранения: состояние лежит в потоке состояния, а сворачивание приложения переживают только наблюдаемые данные экрана
- ViewModel очистилась сама: при сворачивании приложения система вызывает у неё метод очистки, и введённые данные пропадают
- Система выгрузила процесс: ViewModel переживает пересоздание экрана, но не смерть процесса — нужно сохраняемое состояние
- Экран объявлен обычной задачей: если пометить его в манифесте как одиночную задачу, состояние при возврате не потеряется
