Android запускает вложенную AsyncTask в doInBackground (..) - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу знать, есть ли какие-либо последствия для запуска 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 () самой задачи.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...