#1: Never Inject Contexts into ViewModels – Android Interviews #Shorts

Así es como respondería a esta pregunta de la entrevista de Android: ¿por qué nunca deberías inyectar un contexto en un modelo de vista? Y si realmente necesitas uno, ¿qué deberías hacer? El quid de esta respuesta se reduce a los diferentes ciclos de vida. Los modelos de vista y los contextos simplemente tienen inherentemente diferentes. Duración de la vida: esto se aplica a las actividades del contexto local, así como a los contextos de la aplicación. Si inyecté un contexto en un modelo de vista, la forma más fácil de hacer que esto salga mal es simplemente rotar la pantalla, en ese punto finalizó la vida útil de un contexto y comenzó uno nuevo.

justo después de que se completó la rotación, pero el modelo de vista persistió, por lo que todos los datos que le proporcionó sobrevivieron entre rotaciones, por lo que si hubiera inyectado contactos en mi modelo de vista, esos datos serían antiguos y no válidos y, francamente, deberían haber estado disponibles para la recolección de basura, pero Si encuentro que realmente necesito esto en algún lugar de mi modelo de vista, lo mantendría lo más localizado posible pasándolo como argumento a una función de esa manera, estará lo más actualizado y relevante posible..

As found on YouTube