安卓Android开发:使用Executor线程池代替AsyncTask进行异步操作

鉴于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

猜你喜欢

转载自blog.csdn.net/freezingxu/article/details/125141651