動態註冊過程:
contextimpl.registerreceiver-->
contextimpl.registerreceiverinternal-->
activitymanagernative.getdefault().registerreceiver-->
activitymanagerservice.registerreceiver-->
接著會把遠端的innerreceiver和intentfilter物件儲存起來
傳送和接收過程:
contextimpl.sendbroadcast-->
activitymanagernative.getdefault().boradcastintent-->
activitymanagerservice.broadcastintent-->
activitymanagerservice.broadcastintentlocked-->
broadcastqueue.schedulebroadcastslocked-->
broadcastqueue.processnextbroadcast-->
broadcastqueue.delivertoregisteredreceiverlocked-->
broadcastqueue.performreceivelocked-->
innerreceiver.performreceive-->
loadedapk.receiverdispatcher.performreceive-->
activitythread.h.post(args)-->
args.run-->
broadcastreceiver.onreceive
no1:
四大元件都是在應用安裝時由pms(packagemanagerservice)解析並註冊的。
no2:
從android3.1開始,處於停止狀態的應用同樣無法接收到開機廣播flag_include_stopped_packages
而在android3.1之前,處於停止狀態的應用是可以收到開機廣播的
DHCP工作過程
dhcp服務的工作過程 如果在區域網中部署了dhcp伺服器,並且客戶端設定為自動獲得ip位址。這樣當dhcp客戶端第一次登入網路的時候,也就是客戶端發現本機上沒有任何ip資料設定,它會向網路發出乙個dhcp discover封包。因為客戶端還不知道自己屬於哪乙個網路,所以封包的 位址會為 0.0.0...
FTP 工作過程
1 ftp伺服器執行ftpd守護程序,等待使用者的ftp請求。2 使用者執行ftp命令,請求ftp伺服器為其服務。例 ftp 202.119.2.197 3 ftpd守護程序收到使用者的ftp請求後,派生出子程序ftp與使用者程序ftp互動,建立檔案傳輸控制連線,使用tcp埠21。4 使用者輸入ft...
ping工作過程
dos 命令,一般用於檢測網路通與不通 也叫時延,其值越大,速度越慢 ping packet internet grope 網際網路包探索器,用於測試網路連線量的程式。ping 發 送乙個 icmp 回聲請求訊息給目的地並報告是否收到所希望的 icmp 回聲應答。它是用來檢查網路是否通暢或者網路連線...