Conocer las difusiones de Android
A continuación se resumen los conceptos clave del sistema de difusiones Android:
1. Conceptos básicos del sistema de difusiones
- Analogía de la vida real: Similar a megáfonos, radios y televisores: «se envía desde un lugar y lo reciben varios».
- Mecanismo Android: Ofrece un sistema flexible de mensajes de difusión. Cada aplicación puederegistrarse para las difusiones que le interesany recibir solo contenido específico.
- Orígenes de la difusión: Pueden provenir delsistema(arranque del dispositivo, cambios de nivel de batería) o deotras aplicaciones.
- Envío y recepción: Las difusiones normalmente se envían medianteIntent; para recibirlas se usa BroadcastReceiver. Android ofrece una API completa para enviar y recibir libremente.
2. Clasificación y comparación de difusiones
Las difusiones Android se dividen principalmente endifusiones normalesydifusiones ordenadas. Sus diferencias principales son:
| Criterio de comparación | Difusión normal (Normal Broadcast) | Difusión ordenada (Ordered Broadcast) |
|---|---|---|
| Modo de ejecución | Totalmenteasincrónico | Ejecución secuencialsincrónica |
| Momento de recepción | Todos los receptoresreciben al mismo tiempotras el envío | Soloun receptor a la vez; el siguiente se ejecuta cuando termina el anterior |
| Orden de recepción | Sin orden definido | Tienen orden; los receptores conmayor prioridadreciben primero |
| Mecanismo de interrupción | No se puede interrumpir, todos los receptores lo reciben | Un receptor anterior puedeinterrumpir la difusióny los posteriores no la reciben |
| Rendimiento | Alto rendimiento | Relativamente más lento (depende de la cadena de entrega) |
3. Explicación del flujo de trabajo
- Difusión normal
Enviar una difusión→ Distribuida simultáneamente aBroadcastReceiver 1,BroadcastReceiver 2,BroadcastReceiver 3(transmisión radial, sin intercepción). - Difusión ordenada
Enviar una difusión→BroadcastReceiver 1(puede interrumpir) →BroadcastReceiver 2(puede interrumpir) →BroadcastReceiver 3(transmisión lineal).