2011-03-22 7 views

Respuesta

6

si un servicio que se ejecuta como iniciado y encuadernado saldrá cuando el último componente se desvincula de él?

Si algo llama startService() en el Service, permanecerá en funcionamiento, independientemente de lo que bindService() y unbindService() llamadas pueden haber ido. Eventualmente, Android detendrá el servicio, o el usuario lo matará, pero ninguno de los dos ocurrirá inmediatamente después del último unbindService().

+0

Impresionante. ¡Gracias! Entonces, ¿los servicios son elegibles para el mismo tipo de recolección de basura que las actividades y no se puede garantizar que se ejecuten siempre? – rogerkk

+0

@rogerkk: Absolutamente. Un "servicio eterno" es un anti-patrón en Android en la mayoría de los casos. Recuerde que muchos dispositivos Android tienen RAM limitada. Demasiados desarrolladores han estado "filtrando" servicios, por lo que los usuarios y el sistema operativo han sido más agresivos para deshacerse de ellos. La mayoría de las situaciones en las que desearía que un servicio se ejecutara para siempre son mejores candidatos para su uso con 'AlarmManager': piense en trabajos' cron' frente a demonios siempre en ejecución en OS X o Linux, por ejemplo. – CommonsWare

+0

¡Gracias de nuevo! Apreciar siempre obtener excelentes respuestas de usted. :) – rogerkk

Cuestiones relacionadas