廣播定義(是什么)
- 在Android中,廣播是一種廣泛運(yùn)用在應(yīng)用程序間進(jìn)行傳輸信息的機(jī)制,Android中我們?cè)谝l(fā)送的內(nèi)容是
Intent
,這個(gè)Intent
中可以攜帶我們要傳輸?shù)臄?shù)據(jù)丸氛。 - 從實(shí)現(xiàn)原理看上,Android中的廣播使用了觀察者模式亮垫,基于消息的發(fā)布/訂閱事件模型冕屯。
- Android廣播繞不開的兩角色
- 廣播發(fā)送者
- 廣播接受者
- 廣播的種類
- 按是否具有系統(tǒng)全局性來分
-
Normal Broadcasts (標(biāo)準(zhǔn)廣播)
- 標(biāo)準(zhǔn)廣播是一種
完全異步執(zhí)行的廣播
,在廣播發(fā)出之后代虾,所有的廣播接收器幾乎都會(huì)在同一時(shí)刻接收到這條廣播消息谋减,因此廣播接收器之間是無序的
灿意。效率會(huì)比較高
估灿,無法被截?cái)?/code>
- 標(biāo)準(zhǔn)廣播是一種
-
Ordered broadcasts(有序廣播) 【System Broadcast(系統(tǒng)廣播)屬于有序廣播】
- 是一種
同步執(zhí)行的廣播
,在廣播發(fā)出之后,同一時(shí)刻只會(huì)有一個(gè)廣播接收器接收這條廣播消息缤剧,當(dāng)這個(gè)廣播接收器中的邏輯處理完之后馅袁,廣播才會(huì)繼續(xù)傳遞。廣播接收器之間是有序的
,高優(yōu)先級(jí)的接收器先接收到廣播消息荒辕,并且前面的廣播接收器可以截?cái)鄰V播汗销,使后面的廣播接收器無法接收到廣播消息
犹褒。
- 是一種
-
廣播的使用場(chǎng)景(能干什么)
- 同一app下多個(gè)進(jìn)程的不同組件之間的消息通信。
- 不同app之間的組件間的消息通信弛针。
- 解耦Servce與Activity間消息通信叠骑。(在兩者之間充當(dāng)橋梁)