AsyncTask是用于执行异步后台任务,并把任务执行的进度和结果传递给主线程,并在主线程中更新UI。
自从Android 11(3.0)及以后,AsyncTask使用SerialExecutor作为默认的执行Task的Executor。AsyncTask的任务不直接调用线程池(THREAD_POOL_EXECUTOR) ,而是添加到 mTasks队列中。
每次调用execute()时,往mTasks队列中插入一个Runnable,mTasks队列中的任务依次串行在THREAD_POOL_EXECUTOR中执行,直到队列为空。
网友评论