2016-10-10 10 views
0

AsyncTask wird seriell ausgeführt, aber wir können sie parallel mit executeOnExecutor ausführen. Wie viele Asynctask können wir parallel in Android ausführen?Wie viele AsyncTasks können Sie parallel ausführen?

+0

Mögliche Duplikate von [Wie viele AsyncTasks kann ich in einer einzigen Prozessanwendung ausführen] (http://stackoverflow.com/questions/24505981/how-many-asynctasks-i-can-run-in-an-single- Prozess-Anwendung) –

Antwort

0

Android verwendet ThreadPool in AsyncTask. Die maximale Größe dieses Thread-Pools ist

MAXIMUM_POOL_SIZE = CPU_COUNT * 2 + 1; 

So maximale Anzahl von AysncTask hängt von CPU Count ab.

Referenz:

http://dsalgos.com/971/how-many-asynctasks-can-you-execute-in-parallel

+1

Zusätzlich können Sie Ihren eigenen Executor mit Ihren eigenen Einstellungen erstellen. Mit einem benutzerdefinierten Executor kann es theoretisch unbegrenzt sein. –

0

prüfen diese Antwort.

AsyncTask verwendet ein Thread-Pool-Muster zum Ausführen der Dateien von doInBackground(). Das Problem ist zunächst (in frühen Android OS Versionen) die Poolgröße war nur 1, dh keine parallelen Berechnungen für eine Reihe von AsyncTasks. Aber später haben sie das behoben und jetzt ist die Größe 5, so dass maximal 5 AsyncTasks gleichzeitig ausgeführt werden können. Leider erinnere ich mich nicht in welcher Version genau sie das geändert haben.

Running multiple AsyncTasks at the same time -- not possible?

auch den Link oben überprüfen. Hoffe es wird helfen.

1

Ich glaube, diese Stackoverflow Beitrag wurde Ihre Frage bereits beantwortet: How many AsyncTasks i can run in an single process application

Wie viele AsyncTasks können Sie auf einmal ausführen?

In den meisten Versionen von Android ist die Antwort 128.

Bitte geben Sie eine schnelle Suche, bevor Sie diese Fragen zu stellen.

Verwandte Themen