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.

  • Android: Comprobar la conexión con el servidor
  • Android Broadcast Receiver vs Servicio
  • ¿Debo hacer el trabajo en un hilo separado si mi aplicación Android no tiene interfaz de usuario?
  • ¿Cómo ejecuto un método de servicio periódicamente?
  • ¿Está garantizado un servicio android para llamar a onDestroy ()?
  • Detectar bloqueo de servicio
  • ¿Cómo ejecutar un servicio de 9 AM a 4 PM todos los días?
  • PeekService () devuelve null aunque el servicio se está ejecutando, si el servicio es reiniciado por el sistema después de matar OOM
  • ¿Cómo registrar un servicio de reconocimiento de voz personalizado?
  • Android PendingIntent Extra
  • FirebaseApp con nombre no existe obtener error
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.