用法
- 继承AsyncTask,重载方法
- 调用execute启动
解析总结
核心流程
- 在主线程提交任务到线程池
- 线程池运行doInBackground耗时任务
- 线程池运行完毕后,使用Handler切换到主线程处理结果
- AsyncTask中CORE_POOL_SIZE大于2小于4:Math.max(2, Math.min(CPU_COUNT - 1, 4));最大POOL_SIZE CPU_COUNT * 2 + 1
- AsyncTask如何并行
- 调用executeOnExecutor,传入线程池代替sDefaultExecutor,例如executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)
- Android5.0是串行执行
- Android1.6之前和Android3.0之后是串行执行。在这两个版本之间采用的是并行执行