Como o Android oficialmente não recomenda mais o uso de AsyncTask para operações assíncronas, este artigo apresenta como usar o pool de threads Executor em vez de AsyncTask para operações assíncronas e fornece uma classe de pacote completa para simular AsyncTask e fornecer uso consistente com AsyncTask.
Este artigo contém o seguinte:
- Breve introdução do Executor
- inicializar instância
- iniciar e executar
- Callbacks no thread de interface do usuário
- parar
- pacote simples
- Simular o encapsulamento de AsyncTask
1. Breve introdução ao uso do Executor
Executor também é mais conveniente de usar, contando principalmente com as duas classes a seguir:
java.util.concurrent.ExecutorService;java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
Dois, instância de inicialização
Inicializar uma instância de ExecutorService também é simples:
ExecutorService executorService = Executors.newFixedThreadPool(1);
Usamos newFixedThreadPool(int) para criar um pool de threads com apenas 1 thread.
Em relação ao pool de threads de Executors, existem alguns outros tipos opcionais:
SingleThreadExecutor(): pool de encadeamento de encadeamento único;
Agendar