Android 网络 --framework层面 -three

本文详细介绍了Android系统中网络工厂的初始化过程,包括数据网络和WiFi网络如何注册到核心服务(CS)。重点分析了当应用程序申请网络时,CS如何响应并选择合适的APN进行网络连接,以及WiFi网络工厂如何处理网络请求,涉及到的组件如NetworkFactory、AsyncChannel和NetworkRequestInfo。最后,文章总结了Android网络框架的关键点,适合对Android网络感兴趣的读者深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在<<Android 网络 --framework层面 -one>>文章中提到了NetworkFactory,本章较为详细的学习介绍下

  1. NetworkFactory 望文生义,就是网络的工厂, 它是系统中的网络工厂,也是CS向链路网络请求的统一接口,这个工厂可以生产网络也能releaseNetwork
  2. Android系统启动之初,数据和WiFi就通过WifiNetworkFactory和TelephonyNetworkFactory将自己注册到CS中,方便CS迅速响应网络请求

工厂的初始化

工厂的初始化

在frameworks/opt/telephony/src/java/com/android/internal/telephony/PhoneFactory.java
中的makeDefaultPhone方法中进行了初始(数据网络)

for (int i = 0; i < numPhones; i++) {
   
    sTelephonyNetworkFactories[i] = new TelephonyNetworkFactory(
            sPhoneSwitcher, sc, sSubscriptionMonitor, Looper.myLooper(),
            sContext, i, sPhones[i].mDcTracker);
}
根据卡的数量初始化对应的TelephonyNetworkFactory,一个卡一个

在frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java中初始化(wifi网络)

 void maybeRegisterNetworkFactory() {
   
        if (mNetworkFactory == null) {
   
            checkAndSetConnectivityInstance();
            if (mCm != null) {
   
                mNetworkFactory = new WifiNet
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值