Entender os Broadcasts do Android
Abaixo está um resumo dos conceitos centrais do sistema de broadcast do Android:
1. Conceitos básicos do sistema de broadcast
- Analogia do mundo real: Semelhante a alto-falantes, rádios e televisores: “enviado de um local e recebido por vários”.
- Mecanismo Android: Fornece um sistema flexível de mensagens de broadcast. Cada aplicativo podese registrar para broadcasts de seu interesserecebendo apenas conteúdo específico.
- Fontes do broadcast: Podem vir dosistema(inicialização do dispositivo, mudanças no nível da bateria) ou deoutros aplicativos.
- Envio e recebimento: Os broadcasts são enviados geralmente viaIntent; o recebimento usa BroadcastReceiver. O Android disponibiliza uma API completa para enviar e receber livremente.
2. Classificação e comparação dos broadcasts
Os broadcasts Android são divididos principalmente embroadcasts normaisebroadcasts ordenados. Suas principais diferenças estão abaixo:
| Item de comparação | Broadcast normal (Normal Broadcast) | Broadcast ordenado (Ordered Broadcast) |
|---|---|---|
| Modo de execução | Totalmenteassíncrono | Execução sequencialsíncrona |
| Momento de recebimento | Todos os receptoresrecebem simultaneamenteapós o envio | Apenasum receptor por vez; o próximo só processa após o anterior finalizar |
| Ordem de recebimento | Sem ordem definida | Com ordem; receptores demaior prioridaderecebem primeiro |
| Mecanismo de aborto | Não pode ser abortado, todos receptores recebem | Um receptor anterior podeabortar o broadcaste bloquear os subsequentes |
| Desempenho | Alta eficiência | Relativamente mais lento (depende da cadeia de entrega) |
3. Explicação do fluxo de operação
- Broadcast normal
Enviar um broadcast→ Distribuído simultaneamente paraBroadcastReceiver 1,BroadcastReceiver 2,BroadcastReceiver 3(transmissão radial, sem interrupção). - Broadcast ordenado
Enviar um broadcast→BroadcastReceiver 1(pode abortar) →BroadcastReceiver 2(pode abortar) →BroadcastReceiver 3(transmissão linear).