鉴于Android官方已经不在推荐使用AsyncTask进行异步操作,本文介绍了如何使用Executor线程池来代替AsyncTask进行异步操作,并且提供了完整的封装类,来模拟AsyncTask,并提供与AsyncTask一致的使用方式。
本文包含以下内容:
- Executor使用简述
- 初始化实例
- 启动并执行
- 关于UI线程的回调
- 停止
- 简单封装
- 模拟AsyncTask的封装
一、Executor使用简述
Executor使用也比较方便,主要依赖以下两个类:
java.util.concurrent.ExecutorService;java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
二、初始化实例
初始化ExecutorService的实例也很简单:
ExecutorService executorService = Executors.newFixedThreadPool(1);
我们使用了newFixedThreadPool(int)来创建只有1个线程的线程池。
关于Executors的线程池,其实还有其它一些可选的类型:
SingleThreadExecutor():单线程的线程池;
Schedule