本文主要是介绍连接管理的评分机制介绍(原),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在前一节《 Framework中的连接管理机制》中简单介绍了连接管理的大致框架,包括ConnectivityManager、ConnectivityService、NetworkAgent等对象之间的关系以及消息流走向,本节在这些知识的基础上介绍连接管理的核心机制,即连接管理中的评分机制。Android可以提供数据业务的对象主要有:移动数据网络、WIFI、蓝牙、网线等,这些连接本身都可以独立使用,但是对于用户来说,每一时刻又最多只能使用一种方式接入网络,那么当这些功能同时打开时,究竟如何选择最佳的接入环境呢?
连接管理通过一个评分机制来实现不同接入方式的选择。
具体来说就是,每一种上网方式在初始化时,都向ConnectivityService标明自己网络的分值(比如数据连接50,WIFI60,蓝牙69,网线70), 当有更高分数的网络就绪时,就将当前分值低的连接断开。
而当当前网络被断开时,就寻找当前就绪的其他网络连接,选取分值高的进行接入。
并且,每一个网络接入时,都会进行有效性检测,如果检测不通过,将会被扣掉一定分数,此时该网络的优先级也会相应的下降。
下面我们利用四个小节来分别分析评分机制的原理:
《 网络连接评分机制之NetworkFactory》
《 网络连接评分机制之NetworkAgent》
《 网络连接评分机制之NetworkMonitor》
《 网络连接评分机制之再谈WIFI与数据切换过程》
这篇关于连接管理的评分机制介绍(原)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!