Android平台网络连接架构分析_connectivityservice框架流程

Android平台网络连接架构分析_connectivityservice框架流程

ID:44702571

大小:101.25 KB

页数:5页

时间:2019-10-25

Android平台网络连接架构分析_connectivityservice框架流程_第1页
Android平台网络连接架构分析_connectivityservice框架流程_第2页
Android平台网络连接架构分析_connectivityservice框架流程_第3页
Android平台网络连接架构分析_connectivityservice框架流程_第4页
Android平台网络连接架构分析_connectivityservice框架流程_第5页
资源描述:

《Android平台网络连接架构分析_connectivityservice框架流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android平台网络连接架构解析2016-09李国辉ligh6@lenovo.com一概述截止到最新的7.0版本,android网络连接管理系统一直都由四个service组成, 分别是ConnectivityService,NetworkPolicyManagerService,NetworkManagementService,NetworkStatsService共同配合完成网络连接和管理功能,其中核心服务是ConnectivityService,而本文也会着重介绍该service的架构,四个service中NetworkPolicyManagerSe

2、rvice通过NetworkPolicyManager对外提供SDK接口,而ConnectivityService通过ConnectivityManager对外提供SDK接口,整体的框架图如下:1.ConnectivityService提供数据连接管理服务,负责管理Mobile,WIFI,BT,Ethernet几大类网络连接,同时提供VPN和Tethering服务。2.NetworkPolicyManagerService提供网络策略管理服务,NetworkPolicyManagerService维护网络使用策略,策略可以从一个策略文件读取(策略文件保存在

3、系统目录下的netpolicy.xml文件中)。也可以通过NetworkPolicyManager对外提供的设置策略接口(setNetworkPolicies及setUidPolicy)进行设置,NetworkPolicyManagerService能够根据这些设置或从策略文件中读取的策略控制网络连接。另外NetworkPolicyManagerService还具有动态调节网络连接限额及动态设置网络连接的功能,动态调节网络连接限额机制是通过INetworkStatsService访问NetworkStatsService服务获得上面设置或读取的策略匹配的网

4、络连接类型的传输统计信息(NetworkPolicyManagerService采用NetworkTemplate进行网络连接类型的匹配),并根据这些信息生成有效的规则,并提交给ConnectivityService服务,并调用NetworkManagementService的setInterfaceQuota函数对网络连接的带宽限额。3.NetworkStatsService提供网络传输数据流量统计服务,NetworkStatsService服务定期调用performPoll函数获得网络传输统计信息,performPoll函数通过调用NetworkMan

5、agementService服务的getNetworkStatsUidDetail、getNetworkStatsSummary及getNetworkStatsTethering函数从/proc/目录下的包含网络传输统计数据的文件中读取网络统计信息,并转换为NetworkStatsHistory数据结构,保存到以网络接口名称对应的NetworkIdentitySet类型和UID对应的UidStatsKey类型的变量为key的NetworkStatsService的三个HashMap变量中。然后根据performPoll传进来的参数标志信息(指示不同的PER

6、SIST方法)调用writeNetworkDevStatsLocked、writeNetworkXtStatsLocked、writeUidStatsLocked函数把HashMap变量中的统计信息分别写入系统目录下的三个相应的BIN文件(netstats.bin、netstats_xt.bin、netstats_uid.bin)中。4.NetworkManagementService提供对物理网络接口的管理服务,ConnectivityService、NetworkPolicyManagerService、NetworkStatsService三个服务都

7、通过INetworkManagementService接口跨进程访问NetworkManagementService服务,实现与系统底层网络物理接口的各类操作,比如设置IP路由表,限制流量,或者获取流量统计数据。二ConnectivityService框架及流程(一)整个Android的网络连接框架中,ConnectivityService是核心服务,实现对系统的所有数据连接进行管理,包括物理连接、虚拟连接以及共享连接。是ConnectivityManager的具体实现,实现了IConnectivityManager接口。在SystemServer的ini

8、t2中进行初始化,并增加到ServiceManager中。该服务在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。