Вот мои настройки 1. Основное действие - Содержит MainFragment Mainfragment - Имеет MainFragViewModel
Repro - 1. Включение не сохраняет действия в настройках разработчика. 2. Запустите приложение. 3. Нажмите домой.
Теперь из-за наших настроек следующие действия произошли, когда приложение перешло в фоновый режим. 1. Модель представления фрагмента - onCleared () [НЕОБХОДИМО, потому что система убивает фрагмент, а процесс приложения не уничтожен.] 2. Фрагмент уничтожен [Ожидается] 3. Основная активность уничтожена - isFinishing = false (это означает, что фреймворк знает, кто убивает) [Ожидается] 4. Приложение не было уничтожено [Ожидается]
Теперь снова запустите приложение с карточек фоновых приложений. и следующее случилось. 1. Основная активность - onCreate (bundle! = Null) [Ожидается. Также доставлен комплект! все хорошо] 2. Фрагмент создан [Ожидается - пакет доставлен. т.е. не нуль] 3. Создан экземпляр FragmentViewModel [Неожиданно !! как модель представления должна была выжить. Потому что мы не поп фрагмент. Он был убит системой из-за настройки dev]
Это поведение нарушает мой дизайн, и для того, чтобы мои приложения работали нормально на телефоне разработчиков, которые могут включиться, не сохраняют активность. Я должен сохранить информацию в Bundle !!
Чего мне не хватает? Каковы ваши возможные решения?