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

Posted 女儿控伪全栈老徐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓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():单线程的线程池;

Scheduled

以上是关于安卓Android开发:使用Executor线程池代替AsyncTask进行异步操作的主要内容,如果未能解决你的问题,请参考以下文章

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

android线程与线程池-----线程池《android开发艺术与探索》

Android(java)学习笔记267:Android线程池

android asynctask 多个实例是一个线程池吗

Android线程池的使用

多线程之线程池基本内容