Dos AsyncTasks diferentes ejecutan al mismo tiempo
Tengo dos implementaciones totalmente diferentes deAsyncTask
, digamosAT1
yAT2
.
AT1
se ejecuta primero, luegoAT2
es ejecutado.AT1
espera endoInBackground
hastaAT2
ha hecho su tarea encuestando estos datos cada 500 ms. Pero esto nunca sucede.
Así que lo que básicamente quiero es esto:
Pero lo que parece suceder es esto:
ExceptoAT1
nunca se hace, yAT2
nunca se inicia
¿Hay alguna manera de forzar a estos dosAsyncTask
s para ser ejecutado en dos hilos separados, o hay otra solución para esto?
No es posible comenzar primeroAT2
y despues de eso ejecutaAT1
.
EDITAR
Para aclarar:AT1
se ejecuta cuando un usuario abre una pantalla en particular y necesita descargar datos para esa pantalla, según la ubicación.AT2
se ejecuta en Cambio de ubicación, y cuando eso sucede, se realizan algunos cálculos que no se pueden realizar en el subproceso de la interfaz de usuario.
CuandoAT2
nunca ha sido ejecutado,AT1
no tiene una ubicación para descargar datos, por lo que debe esperarAT2
para terminar. CuandoAT2
tiene ejecutado, los datos de ubicación ya están allí, yAT1
no necesita esperar
Además, este problema ocurre en ICS, no en Android 2.3, comoesta respuesta sugiere.