廣播的註冊 傳送和接收過程

2022-07-14 08:48:11 字數 972 閱讀 9492

--摘自《android高階解密》

一。廣播的註冊過程(動態註冊)

1)靜態註冊在應用安裝時由packagemanagerservice來完成註冊過程

2)iintentreceiver是乙個binder介面,用於廣播的跨程序的通訊,它在loadedapk.receiverdispatcher.innerreceiver中實現

3)註冊廣播是乙個跨程序過程,需要具有跨程序的通訊功能的iintentreceiver

4)粘性廣播是儲存在ams中的

5)receiverlist繼承自arraylist,用來儲存廣播接收者

6)ams接收到廣播時就可以從mreceiverresolver中找到對應的廣播接收者了,從而達到了註冊廣播的目的

二。廣播的傳送和接收過程

第一步。contextimpl到ams的呼叫過程

第二步。ams到broadcastreceiver的呼叫過程

1)iintentreceiver和iactivitymanager一樣,都使用了aidl來實現程序間通訊。innerreceiver繼承自iintentreceiver.stub,是binder通訊的伺服器端,iintentreceiver則是binder通訊的客戶端、innerreceiver在本地的**,它的具體實現就是innerreceiver

廣播的註冊 傳送和接收過程

摘自 android高階解密 一。廣播的註冊過程 動態註冊 1 靜態註冊在應用安裝時由packagemanagerservice來完成註冊過程 2 iintentreceiver是乙個binder介面,用於廣播的跨程序的通訊,它在loadedapk.receiverdispatcher.innerr...

組播發送接收過程

組播發送過程 ip 多點廣播允許應用程式傳送網路中的一組主機可以接收到的單個 ip 資料報。該組中的主機可能駐留在單個子網中,也可能駐留在連線可使用多點廣播的路由器的不同子網中。主機可以隨時加入或離開組。對主機組中的成員位置或數目沒有任何限制。範圍在 224.0.0.1 到239.255.255.2...

TCP資料報的接收過程

1,一般網絡卡接收資料是以觸發中斷來接收的,在網絡卡driver中,接收到資料時,往kernel的api netif rx 丟 2,接著資料被送到ip層ip local deliver finish 經過剝離ip頭部,把資料往tcp層發 3,tcp層tcp v4 rcv 收到資料後,再呼叫tcp r...