En subprocesos múltiples, ¿cuáles son los métodos y precauciones para que los subprocesos actualicen la interfaz de usuario del subproceso principal?
UI multiproceso y roididthread funcionan
Cuando se inicia un programa de Android, se iniciará un proceso separado. De forma predeterminada, todas las actividades o servicios de su programa (Servicio y Actividad son solo dos de los componentes proporcionados por Android, junto con el Proveedor de contenido y el Receptor de transmisión) se ejecutarán en este proceso.
Los programas de Android tienen solo un proceso de forma predeterminada, pero un proceso puede tener varios subprocesos. Entre estos hilos, hay un hilo que llamamos hilo de UI. El hilo de la interfaz de usuario se crea cuando el programa de Android se está ejecutando y es el hilo principal del proceso. Es el principal responsable de controlar la visualización, la actualización y la interacción con los controles de la interfaz de la interfaz de usuario. Al comienzo de la creación de un programa de Android, el proceso está en modo de subproceso único y todas las tareas se ejecutan en un solo subproceso. Por lo tanto, creemos que el tiempo que dedica el hilo de la interfaz de usuario a ejecutar cada función debe ser lo más corto posible. Otras tareas a largo plazo (acceder a la red, descargar datos, consultar la base de datos, etc.) deben dejarse en manos de subprocesos secundarios para evitar bloquear el subproceso principal.
Entonces, ¿cómo funciona el hilo de la interfaz de usuario con otros hilos? El método común es:
Crear un objeto controlador para el hilo principal y usarlo como escucha, permitiendo que el hilo secundario envíe mensajes a la cola de mensajes del hilo principal para activar la función handlerMessage() del hilo principal. para que el hilo principal comprenda el estado del hilo secundario y actualice la interfaz de usuario en el hilo principal.