非常过时,请永远不要使用它以及其他用于并发数据处理的库。

为什么要使用它?

从Android Api >= AsyncTasks是串行执行的,这意味着你不能在不调用task.executeOnExecutor(...)的情况下同时运行2个或更多AsyncTasks。 这并不像你想的那么容易。

解决方案:

AsyncTask-Executor承担了在任何Android操作系统版本上并发运行AsyncTask的所有工作,最好使用:


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

   task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

} else {

   task.execute();

}