Android Ordre d'exécution


Exemple

Lors de la première introduction, AsyncTasks ont été exécutés en série sur un seul thread d'arrière-plan. À partir de DONUT , cela a été changé en un pool de threads permettant à plusieurs tâches de fonctionner en parallèle. À partir de HONEYCOMB , les tâches sont exécutées sur un seul thread pour éviter les erreurs d'application courantes provoquées par une exécution en parallèle.

Si vous voulez vraiment une exécution parallèle, vous pouvez appeler executeOnExecutor(java.util.concurrent.Executor, Object[]) avec THREAD_POOL_EXECUTOR .

SERIAL_EXECUTOR -> Un exécuteur exécutant les tâches une par une dans un ordre série.

THREAD_POOL_EXECUTOR -> Un exécuteur qui peut être utilisé pour exécuter des tâches en parallèle.

échantillon :

Task task = new Task();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    task.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, data);
else
    task.execute(data);