¿El intento va cola cuando llama a startService para IntentService varias veces?
Quiero descargar de Internet con un IntentService
. Paso una url a través de Intent
to IntentService
llamando a startService(intentserive);
.
Si llamo startService
para varias intenciones, ¿las intents van a la cola para la descarga?
- Pantalla de inicio de sesión que muestra progressdialog y permite cambiar la orientación de la pantalla
- Android: intentservice, cómo anular o omitir una tarea en la cola handleintent
- ResultReceiver.send sólo se puede llamar desde el mismo grupo de biblioteca
- Servicio pegajoso y servicio de intenciones mueren cuando se destruye la aplicación
- Establecer permiso "permiso" por defecto en "Asus auto start manager" de código
- Android: ¿Cómo determinar si IntentService se está ejecutando?
- Error de acceso de realm de subproceso incorrecto al usar código compartido entre IntentService y AsyncTask (Android)
- El mejor enfoque para ejecutar el servicio en Android
- Consideraciones sobre el diseño de Android: AsyncTask vs Service (IntentService?)
- ¿Existe algún patrón de desarrollo que pueda reemplazar un IntentService para las solicitudes de red?
- ¿Debo usar Service o IntentService?
- ¿Cómo mantener un IntentService funcionando incluso cuando la aplicación está cerrada?
- Native crash en /system/lib/libart.so
La respuesta corta a su pregunta es SI. De los documentos:
IntentService es una clase base para Servicios que manejan solicitudes asincrónicas (expresadas como Intentes) a petición. Los clientes envían solicitudes a través de llamadas startService (Intent); El servicio se inicia según sea necesario, maneja cada intento a su vez usando un hilo de trabajo y se detiene cuando se queda sin trabajo.
Este patrón de "procesador de cola de trabajo" se utiliza comúnmente para descargar tareas del subproceso principal de una aplicación. La clase IntentService existe para simplificar este patrón y cuidar de la mecánica. Para usarlo, extienda IntentService e implemente onHandleIntent (Intent). IntentService recibirá los Intents, lanzará un hilo de trabajo y detendrá el servicio según corresponda.
Todas las solicitudes se manejan en un solo hilo de trabajo, pueden tardar tanto tiempo como sea necesario (y no bloquearán el bucle principal de la aplicación), pero solo se procesará una solicitud a la vez.
Enlace de documentos oficiales
Sí. El servicio de intención pone en cola todas las intenciones de trabajo y las procesa una por una en un solo hilo de trabajo.
- Diseñe una HorizontalScrollView dentro de ViewPager o use fragmentos:
- Ampliación de Google Maps Android API v2 para proporcionar panorámicas y eventos de zoom