Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo funciona ViewModel

Cómo funciona ViewModel

Como todos sabemos, la función de ViewModel es almacenar y administrar datos relacionados con la interfaz de usuario de manera consciente del ciclo de vida, lo que permite que los datos se retengan incluso si la configuración cambia, como la rotación de la pantalla. Entonces, ¿cómo guarda el sistema ViewModel? ? Volvamos a Ir al código fuente para rastrear sus orígenes.

Obviamente, las clases que implementan esta interfaz deben poder proporcionar un ViewModelStore, que es un repositorio para almacenar objetos ViewModel, y administrar ViewModels internamente a través de un HashMap.

El método de conexión de Actividad se utiliza a través de la llamada formLaunchActivity de ActivityThread durante el proceso de carga de Actividad. Esta llamada se pasa al objeto NonConfigurationInstances en ActivityRecordClient. ActivityRecordClient lo guarda al guardar el objeto NonConfigurationInstances. la Actividad porque los cambios de configuración se destruyen para su inspección.

Cuando una Actividad se destruye debido a un cambio de configuración, ActivityThread llamará al método formDestroyActivity durante su destrucción, que internamente vuelve a llamar al método retenciónNonConfigurationInstances de la Actividad para obtener el objeto NonConfigurationInstances. Lo siguiente es parte del proceso del método "retainNonConfigurationInstances":