我想知道在另一个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()方法执行嵌套异步任务的功能。
谢谢。