一、AsyncTask的特点
- AsyncTask是一个Android 已封装好的轻量级异步类,可以实现线程间的通信
- 属于抽象类,即使用时需实现子类
- 使用方便,不需使用 “任务线程(如继承Thread类) + Handler”的复杂组合
- 节省资源,采用线程池的缓存线程 + 复用线程,避免了频繁创建 & 销毁线程所带来的系统资源开销
- 提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
二、AsyncTask的核心方法
三、AsyncTask的使用
AsyncTask的使用步骤有3个:
- 创建 AsyncTask 子类 & 根据需求实现核心方法
- 创建 AsyncTask子类的实例对象(即 任务实例)
- 手动调用execute(()从而执行异步线程任务
/**
* 步骤1:创建AsyncTask子类
* 注:
* a. 继承AsyncTask类
* b. 为3个泛型参数指定类型;若不使用,可用java.lang.Void类型代替
* c. 根据需求,在AsyncTask子类内实现核心方法
*/
private class MyTask extends AsyncTask<Params, Progress, Result> {
....