连接管理的评分机制介绍(原)

来源:互联网 发布:php 2年工作经验招聘 编辑:程序博客网 时间:2024/06/06 06:46
        在前一节《Framework中的连接管理机制》中简单介绍了连接管理的大致框架,包括ConnectivityManager、ConnectivityService、NetworkAgent等对象之间的关系以及消息流走向,本节在这些知识的基础上介绍连接管理的核心机制,即连接管理中的评分机制。
        Android可以提供数据业务的对象主要有:移动数据网络、WIFI、蓝牙、网线等,这些连接本身都可以独立使用,但是对于用户来说,每一时刻又最多只能使用一种方式接入网络,那么当这些功能同时打开时,究竟如何选择最佳的接入环境呢?
        连接管理通过一个评分机制来实现不同接入方式的选择
        具体来说就是,每一种上网方式在初始化时,都向ConnectivityService标明自己网络的分值(比如数据连接50,WIFI60,蓝牙69,网线70),当有更高分数的网络就绪时,就将当前分值低的连接断开
        而当当前网络被断开时,就寻找当前就绪的其他网络连接,选取分值高的进行接入。
        并且,每一个网络接入时,都会进行有效性检测,如果检测不通过,将会被扣掉一定分数,此时该网络的优先级也会相应的下降。
        下面我们利用四个小节来分别分析评分机制的原理:
        《网络连接评分机制之NetworkFactory
        《网络连接评分机制之NetworkAgent
        《网络连接评分机制之NetworkMonitor
        《网络连接评分机制之再谈WIFI与数据切换过程
1 0