Resumen de uso de subprocesos en segundo plano del controlador de subprocesos simultáneos de Android

Cuando hay red, lectura y escritura de archivos, operaciones de base de datos y cálculos complejos en el programa, para evitar que el hilo principal de la interfaz se atasque, se utilizarán hilos concurrentes.

El hilo principal de la interfaz de Android recibe todos los eventos de entrada, los coloca en una cola y usa el objeto de clase Looper para procesar la cola.

Tres formas de manejar hilos en Android:

Thread, java.util.concurrent (implementado por las clases ThreadPools y Executor)

El propio Android proporciona la clase android.os.Handler y la clase AsyncTasks para manejar subprocesos, y hay otras devoluciones de llamada para el procesamiento de devolución de llamada. Por ejemplo, el marco de código abierto RxJava puede crear un observador para monitorear el flujo de datos y, una vez que se activa el evento, el marco llamará al observador.

Manipulador:

Cuando el objeto controlador se crea en el subproceso principal, proporciona un "canal" para transferir datos con el subproceso principal. Los datos enviados pueden ser un objeto de la clase Message o Runnable.En el caso de transmisiones de datos múltiples, se utiliza con mucha frecuencia Handler.

Crear y reutilizar objetos Handler:

Primero declare el objeto Handler, reescriba el método handleMessage(), use el método sendMessage(Message) para enviar un mensaje o sendEmptyMessage() para enviar una señal.

Los objetos ejecutables también se pueden enviar mediante el método post().

Para evitar la creación repetida de objetos, los objetos Handler existentes se pueden reutilizar.

manejador = getWindow().getDecorView().getHandler();

Por ejemplo:

El controlador no pasa parámetros:

public class MainActivity ext

Supongo que te gusta

Origin blog.csdn.net/poolooloo/article/details/128898812
Recomendado
Clasificación