Resumo do uso do thread em segundo plano do manipulador de thread simultâneo do Android

Quando houver rede, leitura e escrita de arquivos, operações de banco de dados e cálculos complexos no programa, para evitar que a thread principal da interface fique travada, serão utilizadas threads concorrentes.

A thread principal da interface do Android recebe todos os eventos de entrada, coloca-os em uma fila e usa o objeto da classe Looper para processar a fila.

Três maneiras de lidar com threads no Android:

Thread, java.util.concurrent (implementado pelas classes ThreadPools e Executor)

O próprio Android fornece a classe android.os.Handler e a classe AsyncTasks para lidar com threads, e há outros retornos de chamada para processamento de retorno de chamada. Por exemplo, a estrutura de software livre RxJava pode criar um observador para monitorar o fluxo de dados e, assim que o evento for acionado, a estrutura chamará o observador.

Manipulador:

Quando o objeto manipulador é criado no thread principal, ele fornece um "canal" para transferir dados com o thread principal. Os dados enviados podem ser um objeto da classe Message ou Runnable.No caso de múltiplas transmissões de dados, o Handler é muito utilizado.

Crie e reutilize objetos Handler:

Primeiro declare o objeto Handler, reescreva o método handleMessage(), use o método sendMessage(Message) para enviar uma mensagem ou sendEmptyMessage() para enviar um sinal.

Objetos executáveis ​​também podem ser enviados usando o método post().

Para evitar a criação repetida de objetos, os objetos Handler existentes podem ser reutilizados.

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

Por exemplo:

Handler não passa parâmetros:

public class MainActivity ext

Acho que você gosta

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