Estoy obteniendo muchas miniaturas desde un servidor remoto y mostrándolas en una vista de cuadrícula, usando AsyncTask. El problema es que mi vista de cuadrícula muestra 20 miniaturas a la vez, por lo que crea 20 AsyncTasks y comienza 20 ejecuciones, una por miniatura.AsyncTask, RejectedExecutionException y Task Limit
Obtengo RejectedExecution
excepción en mi código. Recuerdo haber leído en alguna parte que hay un límite en el número de tareas que AsyncTask puede tener en su cola a la vez, podría estar golpeando eso. ¿Fue levantado este bar?
¿Hay alguna manera de aumentar este límite? ¿Es seguro simplemente ignorar esta excepción? (Teniendo un bloque vacío catch(RejectedException e){}
?)
Estoy ejecutando este código en el emulador de Android 1.6 y el nivel API en mi código (minSDKVersion es 3). [EDIT: Agregado SDK y API de nivel info]
Gracias Marque por su respuesta y también por compartir su código! Por cierto, según el comentario de Romain Guy aquí: http://stackoverflow.com/questions/990948/simple-thread-management-java-android el límite parece haberse relajado. – Samuh
Desafortunadamente, no puedo confirmar su declaración. Lo que tengo arriba es de mi examen del código fuente (como se encuentra a través de Google Code Search). Sin embargo, podría ser que estoy malinterpretando el código. – CommonsWare
Estoy llegando al mismo problema. Sería perfectamente feliz de tener mis tareas ejecutadas en secuencia en lugar de en paralelo. ¿Hay alguna forma de hacer esto? ¿O vuelvo a implementar una cola de trabajo? –