文章参考的是Android 7.1 的源码
如下图所示,主要分为三个部分:
1. WiFi,Telephony,Ethernet 链路
以WiFi为例,WifiStateMachine作为WiFi driver 和用户层之间通信的桥梁,处理用户下发的指令(如连接/断开连接/更改配置信息等)以及driver返回到framework的消息。当WiFi链路状态发生改变时,它将及时地告知CS,以便系统能够及时的更新链路信息(如iface/ip/dns server等)到Netd。而对于Telephony,这些工作则由DcTracker这个状态机来实现。
2. Framework中Network相关的4大Service
ConnectivityService
CS是系统网络连接管理服务。处理APP网络监听和请求,通知网络变化;处理WiFi/Telephony各个链路的网络注册,更新链路信息;网络检测/评分与网络选择。
NetworkPolicyManagerService
NPMS是网络策略管理服务。收费网络(Metered Network&#x