Intereting Posts
Ошибка Кордовы, запущенная на эмуляторе Android: «android: сбой команды с кодом выхода 2» Преобразование даты JSON в формате «mm dd yyyy» Получить содержание uri из пути к файлу в android Открытие активности после нажатия push-уведомления android Определение стиля, цвета и т. Д. В XML? Обеспечение стиля кодирования и предупреждение и отсутствие ворсинок в командах в Android Studio или git / github Как уменьшить расстояние между TextView Диалоговый фрагмент с и EditText показывает клавиатуру автоматически после загрузки Как изменить ширину видеообзора программно Java.net.ConnectException: localhost / 127.0.0.1: 8080 – Соединение отклонено Странное поведение активности на разных версиях Android: карта мигает Что мне нужно знать для порта Cyanogenmod для неподдерживаемых телефонов / планшетов? Как изменить размер растрового изображения эффективно и без потери качества в андроиде Удаление файлов старше заданного времени из каталога Пользовательское правило Lint, не указанное в студии eclipse / android

Сохраняет ли ViewModel операцию сохранения и восстановления?

Экземпляры нового класса ViewModel могут пережить изменения конфигурации, если они используются следующим образом:

 mViewModel = ViewModelProviders.of(this).get(MyViewModel.class); 

Однако, помимо изменений конфигурации, существует также сценарий восстановления-восстановления, когда весь процесс приложения уничтожается.

Сохранятся ли значения полей внутри ViewModel во время сценария восстановления-восстановления?


Изменить: на основании ответа на этот вопрос я написал эту статью: Android ViewModel Architecture Component опасен

Solutions Collecting From Web of "Сохраняет ли ViewModel операцию сохранения и восстановления?"

Согласно документации ViewModelProvider (проверьте метод get ), ViewModel не сохраняется при уничтожении процесса приложения:

Созданный ViewModel связан с данной областью и будет сохранен до тех пор, пока область действия будет живой (например, если это активность, пока она не будет завершена или процесс не будет убит)

Кроме того, проверьте, что Иэн Лейк отвечает на аналогичный вопрос: https://medium.com/@ianhlake/you-are-correct-the-viewmodel-is-destroyed-if-your-process-is-killed-by-android-ef611fcd51e6

Вы правы: ViewModel уничтожается, если ваш процесс убит Android. Как и раньше, вы должны использовать onSaveInstanceState () для хранения любых данных, которые должны быть вам необходимы, чтобы позднее воссоздать свою активность в том же состоянии, что и раньше.

Я также рекомендую прочитать компонент Android ViewModel Architecture Dangerous .