Я хочу знать, есть ли какие-либо последствия для запуска AsyncTask в другом методе AsyncTask doInBackground ().Я читал, что это не рекомендуется, но пока не вижу никаких последствий.
Я запустил AsyncTask A примерно так:
asyncTaskA.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)
, затем я запускаю AsyncTask B изМетод doInBackground () в AsyncTask A выглядит следующим образом:
protected Void doInBackground(Void...params){
asyncTaskB.execute();
}
Исходя из того, что я видел до сих пор, метод OnPostExecute () AsyncTask B по-прежнему попадает в основной поток пользовательского интерфейса, как и ожидалось.Я также считаю, что даже если AsyncTask A умрет (родительская задача), AsyncTask B продолжится.
Я слышал, что executeOnExecutor (AsyncTask.THREAD_POOL_EXECUTOR) разрешает параллельное выполнение, но я не уверен на 100%, что это означает, что код мудрый.Включает ли он определенную функциональность, которую я вижу?AKA, возможность выполнять вложенные асинхронные задачи из метода doInBackground () самой задачи.
Спасибо.