tutorial livedata example clean android mvvm android-architecture-components

example - livedata android



AndroidViewModel vs ViewModel (1)

Si necesita usar el contexto dentro de su modelo de vista, debe usar AndroidViewModel, ya que contiene el contexto de la aplicación (para recuperar la llamada de contexto getApplication ()), de lo contrario use ViewModel normal.

EDITAR

AndroidViewModel tiene contexto de aplicación . ¡Todos sabemos que tener una instancia de contexto estático es malo! (¡Puede causar fuga de memoria!)

Pero, tener una instancia de aplicación estática no es malo de lo que piensas

Porque solo hay una instancia de aplicación en nuestra aplicación en ejecución.

Por lo tanto, usar y tener una instancia de aplicación en una clase específica no es un problema en general.

Pero, si la instancia de la aplicación hace referencia a ellos, es un problema debido al problema del ciclo de referencia.

Consulte también sobre Instancia de aplicación

Con la introducción de la biblioteca de componentes de arquitectura de Android, se introdujeron varias clases nuevas, incluidas AndroidViewModel y ViewModel . Sin embargo, tengo problemas para descubrir la diferencia entre estas dos clases. La documentation describe sucintamente AndroidViewModel siguiente manera:

Contexto de la aplicación ViewModel

Aprecio la brevedad, pero ¿qué implica esto exactamente? ¿Cuándo deberíamos elegir usar AndroidViewModel sobre ViewModel y viceversa?