以下是 Android 广播系统的核心知识点梳理:
一、 广播系统基础概念
- 现实类比:类似高音喇叭、收音机、电视机,即“一个地方发送,多个地方接收”。
- Android 机制:提供了一套灵活的广播消息机制。每个应用可对自己感兴趣的广播进行注册,仅接收特定内容。
- 广播来源:可来自系统(如开机、电量变化),也可来自其他应用程序。
- 发送与接收:发送广播通常通过 Intent 实现;接收广播则依赖广播接收器(BroadcastReceiver)。Android 提供了完整的 API 支持自由发送和接收。
二、 广播的分类与对比
Android 广播主要分为标准广播和有序广播,两者核心差异如下:
| 对比维度 | 标准广播 (Normal Broadcast) | 有序广播 (Ordered Broadcast) |
|---|---|---|
| 执行方式 | 完全异步 | 同步顺序执行 |
| 接收时机 | 发出后,所有接收器同时接收 | 同一时刻仅一个接收器接收,处理完才轮到下一个 |
| 先后顺序 | 无先后顺序 | 有先后顺序,优先级高的先收到 |
| 截断机制 | 无法截断,所有接收器必收到 | 前面的接收器可截断广播,后续无法接收 |
| 效率 | 效率高 | 相对较慢(依赖传递链) |
三、 工作流程图解
- 标准广播
发出一条广播→ 同时分发给广播接收器1、广播接收器2、广播接收器3(呈放射状,无拦截)。 - 有序广播
发出一条广播→广播接收器1(可截断) →广播接收器2(可截断) →广播接收器3(呈线性传递)。
Next: 一个例子-接收系统广播