Сохраняет ли 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 .