AndroidViewModel vs ViewModel

С введением библиотеки компонентов Android Architecture появилось несколько новых классов, включая AndroidViewModel и ViewModel. Однако мне трудно понять разницу между этими двумя классами. Документация кратко описывает AndroidViewModel следующим образом:

Знание контекста приложения ViewModel

Я ценю краткость, но что именно это подразумевает? Когда следует выбрать AndroidViewModel над ViewModel и наоборот?

Ответы

Ответ 1

Если вам нужно использовать контекст внутри вашей модели просмотра, вы должны использовать AndroidViewModel, потому что он содержит контекст приложения (для получения контекстного вызова getApplication()), в противном случае используйте обычный ViewModel.