文章目录
上一篇文章 WebRTC系列-网络传输之网络切换处理中介绍了网络切换的各个平台通用处理流程,但是对于Android是有特殊的流程,这边文章介绍Android端的特殊处理流程;同时也会补充Android的网络监听是如何注册到WebRTC的网络模块的;
这篇文章接着上篇的类
BasicNetworkManager
中槽函数实现(OnNetworksChanged()),主要的逻辑从函数的调用栈分析;
1. Android网络监听类关联核心网络处理模块
Android由于其特殊性,WebRTC在其Java层实现了网络状态处理类,这里在分析前先补上一张类图:
其中AndroidNetworkMonitor
类和AndroidNetworkMonitorFactory
类定义在sdk/android/src/jni/android_network_monitor.h
文件中;AndroidNetworkMonitor继承自NetworkMonitorBase
类在rtc_base/network_monitor.h
文件定义,同时在此文件中也定义了类AndroidNetworkMonitorFactor
继承的类NetworkMonitorFactory
;