Некоторое время я работал над компонентами архитектуры Android, которые были представлены в Google IO 2017.
Один из их компонентов, чтобы избежать проблем с изменением конфигурации, они предоставляют классы ViewModel
и AndroidViewModel
Согласно документу:
AndroidViewModel: приложение с учетом контекста ViewModel
ViewModel: ViewModels также можно использовать в качестве уровня связи между различными фрагментами действия. Каждый фрагмент может получить ViewModel
, используя один и тот же ключ через свою активность.
Но для сценария AndoirdViewModel
я могу получить контекст приложения, расширив класс до класса приложения.
В чем реальная разница между ними в разработке Android? Потому что оба привязаны только к жизненному циклу Activity/Fragment.