广播定义(是什么)
- 在Android中,广播是一种广泛运用在应用程序间进行传输信息的机制,Android中我们在要发送的内容是
Intent
,这个Intent
中可以携带我们要传输的数据。 - 从实现原理看上,Android中的广播使用了观察者模式,基于消息的发布/订阅事件模型。
- Android广播绕不开的两角色
- 广播发送者
- 广播接受者
- 广播的种类
- 按是否具有系统全局性来分
-
Normal Broadcasts (标准广播)
- 标准广播是一种
完全异步执行的广播
,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此广播接收器之间是无序的
。效率会比较高
,无法被截断
- 标准广播是一种
-
Ordered broadcasts(有序广播) 【System Broadcast(系统广播)属于有序广播】
- 是一种
同步执行的广播
,在广播发出之后,同一时刻只会有一个广播接收器接收这条广播消息,当这个广播接收器中的逻辑处理完之后,广播才会继续传递。广播接收器之间是有序的
,高优先级的接收器先接收到广播消息,并且前面的广播接收器可以截断广播,使后面的广播接收器无法接收到广播消息
。
- 是一种
-
广播的使用场景(能干什么)
- 同一app下多个进程的不同组件之间的消息通信。
- 不同app之间的组件间的消息通信。
- 解耦Servce与Activity间消息通信。(在两者之间充当桥梁)