Android在doInBackground(..)中启动嵌套AsyncTask

时间:2018-12-19 00:22:38

标签: android android-asynctask nested

我想知道在另一个AsyncTask的doInBackground()方法中启动AsyncTask是否有任何后果。我读过,不建议这样做,但是到目前为止我看不到任何后果。

我已经像这样启动AsyncTask A:

asyncTaskA.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)

然后我从AsyncTask A的doInBackground()方法启动AsyncTask B,如下所示:

protected Void doInBackground(Void...params){
asyncTaskB.execute();
}

根据我到目前为止所看到的,AsyncTask B的onPostExecute()方法仍然按预期结束在主UI线程中。我也相信,即使AsyncTask A死了(父任务),AsyncTask B也将继续。

我听说过executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)启用并行执行,但是我不确定100%表示代码明智。它是否专门启用了我所看到的功能?又名,可以从任务本身的doInBackground()方法执行嵌套异步任务的功能。

谢谢。

0 个答案:

没有答案