Androide broadcastreceiver vs oyentes

Si usted tiene un servicio que frecuentemente (cada segundo o medio segundo) envía actualizaciones, ¿hay ventajas / desventajas en usar las Difusiones vs registrar Listeners (una Interfaz que cree) que se almacenan en algún tipo de Lista en el Servicio y el envío de actualizaciones ¿de esa manera?

Estoy pensando en términos de uso de la memoria, el consumo de la batería, etc Sé que es un poco abierto, sin embargo, no hay mucho en términos de documentación para que puedan ser iguales, pero si alguien sabe una respuesta definitiva o tiene alguna entrada , Será apreciado.

En mi experiencia, si va a enviar notificaciones con frecuencia, elija los oyentes. He implementado algunos BroadcastReceivers para el mismo asunto, pero algunos mensajes se han perdido. Creo que esto se debe a que los BroadcastReceivers no hacen cola en las intenciones entrantes sino que sueltan a los que llegan mientras todavía "hacen el trabajo con el antiguo". Por supuesto, la radiodifusión intenciones puede ser más relajante, ya que no tiene que .. conectar el servicio y cada parte de escucha de su aplicación, pero en mi caso (varios mensajes por segundo) los oyentes fueron la elección correcta.

No piense en estas cosas, es realmente pequeña cantidad de energía y perfomanse. La principal diferencia entre Broadcasts y Listeners es una forma en la que sus mensajes irán. Si se trata de emisiones, sus sistemas irán directamente a su clase.

De todos modos debe crear un BroadcastReciever para obtener actualizaciones (por lo que sigue siendo un oyente). Pero en este caso os llama a llamarlos en lugar de llamadas de servicio directo. No estoy seguro sobre el valor de differance, pero las llamadas directas parece más rápido, y menos memoria / batería consumiendo de este pov.

  • El proceso del servicio se cancela después de que la aplicación se elimina de la bandeja de aplicaciones
  • BroadcastReceiver intentando devolver el resultado durante una transmisión no ordenada - PACKAGE_ADDED en Android
  • El servicio de Android onStartCommand nunca se llama
  • Cómo supervisar el cambio de estado de SIM
  • Android Service está creando una y otra vez
  • Anfitrión androide de Android y sueño del dispositivo
  • Cómo cancelar la notificación de inesperado / forzar la terminación de la aplicación
  • Reproductor de medios de Android con servicio
  • ¿Cómo puedo saber si mi servicio ha iniciado
  • ¿Cómo registrar un servicio de reconocimiento de voz personalizado?
  • ¿Cómo implemento un BroadcastReceiver en una clase de servicio en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.