2012-01-03 16 views
7

Ho lo stesso problema Running multiple AsyncTasks at the same time -- not possible? tranne che uso Android 4.0 con android: minSdkVersion = "14".Android 4.0 asynctask allo stesso tempo non possibile

ho provato il suo esempio, e ottenere anche:

bar bar bar 
bar bar bar 
bar bar bar 

EDIT:

ho trovato la soluzione here

Invece di usare:

task.execute(); 

uso:

task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, null); 
+0

Si prega di considerare l'aggiunta della propria anima come risposta e accettarla in modo che questa domanda non si presenti più senza risposta. Sopprimerò la tua risposta se lo fai. –

risposta

6

suona così lo spiega (dal documentation):

Quando la prima volta, AsyncTasks sono stati giustiziati in serie su un singolo thread in background. A partire da DONUT, questo è stato modificato in un pool di thread che consente a più attività di operare in parallelo. A partire da HONEYCOMB, le attività vengono eseguite su un singolo thread per evitare errori di applicazione comuni causati dall'esecuzione parallela.

Se si desidera realmente l'esecuzione parallela, è possibile richiamare executeOnExecutor (java.util.concurrent.Executor, Object []) con THREAD_POOL_EXECUTOR.

+2

E con un esempio di codice, invece di chiamare 'myAsyncExtendingClass(). Execute()', chiameresti 'myAsyncExtendingClass(). ExecuteOnExecutor (AsyncTask.THREAD_POECOLOR," ");' –

Problemi correlati