2015-10-28 3 views
0

Может я называю AsyncTask несколько раз с различными параметрами, как это:Вызов одной AsyncTask несколько раз с различными параметрами?

new MyAsyncTask.execute(
        new String("x"), 
        new String(firstString) 
        ); 
new MyAsyncTask.execute(
        new String("y"), 
        new String(secondString) 
        );      

ли выше синтаксис правильно? Если да, выполняются ли эти два вызова по сериализации по умолчанию?

+0

этот ответ: Http: //stackoverflow.com/a/4072832/500105 –

+0

Я уже это читал. Но это слишком грязно, чтобы найти мой ответ. Моя версия Android 5.0. Теперь, как рассмотреть мой случай? Выполняются ли два вызова последовательно или параллельно? –

ответ

0

Да, вы можете. Поведение по умолчанию после SDK 11 использует последовательный исполнитель, работающий в одном потоке.

Вы можете изменить это, если вы хотите с помощью такого метода:

if (Build.VERSION.SDK_INT >= 11) { 
    MyAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); 
} else { 
    MyAsyncTask.execute(); 
} 

Вы должны прочитать этот ответ, если вы хотите, чтобы понять проблему в глубину: https://stackoverflow.com/a/4072832/500105

+0

Спасибо за ответ. По вашему мнению, синтаксис не вызывает проблем. Итак, я опубликовал новый вопрос о той же самой проблеме, полностью объясняющий, что происходит в моем коде. не могли бы вы взглянуть на это: http://stackoverflow.com/questions/33412681/android-app-crashed-on-second-asynctask-call спасибо. Я знаю, что ты можешь быть занят. извините, если так. –

Смежные вопросы