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.
- StopService () detendrá un servicio de primer plano?
- Diferencias entre intención y pendiente
- ¿Cómo puedo ejecutar un servicio en un hilo separado?
- Sincronización de un servicio REST con una aplicación de Android
- FirebaseApp con nombre no existe obtener error
- Android PendingIntent Extra
- ¿Cómo podemos evitar que un servicio muera por un sistema operativo?
- Problemas con la vinculación al servicio en Android
- ¿Cómo utilizar PendingIntent para comunicarse desde un servicio a un cliente / actividad?
- Antecedentes El servicio se mata en android
- El servicio exportado no requiere permiso: ¿qué significa?
- Cómo supervisar el cambio de estado de SIM
- Java.lang.IllegalAccessError ref de clase en la clase preverified resuelto a la implementación inesperada
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.
- Controles de reproducción de vídeo de Android Mostrar "Reproducir" Inicialmente en lugar de "Pausa" Aunque el archivo ya está jugando
- Transmita un mensaje a todas las máquinas disponibles en WiFi