学习笔记-高通平台开机Camera config.xml匹配流程

高通平台开机Camera config.xml匹配流程

匹配步骤

设ConfigXml为包含当前手机配置Sensor的Xml;
LocalXml为本地待匹配的Xml。

Step 1:初始化距离Distance为0,并计算手机配置的Sensor个数ConfigSensorNum以及待匹配LocalXml中配置的Sensor个数LocalSensorNum。
Step 2:遍历手机配置ConfigXml中的每一个Sensor,若待匹配LocalXml中有相同的SensorID,则匹配同一SensorID对应的SensorName是否一致:
若SensorName一致,Distance不变;
若SensorName不一致,Distance = Distance + 1;
若待匹配LocalXml中没有相同的SensorID,则Distance = Distance + 2。
Step 3:比较手机配置的Sensor个数以及待匹配LocalXml中配置的Sensor个数,若待匹配LocalXml中配置的Sensor个数 > 手机配置的Sensor个数, Distance = Distance + 2*(LocalSensorNum - ConfigSensorNum)。
Step 4:Distance即为所求, 匹配距离最小的xml即可。

举例说明

设本地现有的XML文件列表如下:
LocalXML = {localXml0, localXml1, localXml2, localXml3, localXml4, localXml5, …};
其中每一个localXml由SensorID和SensorName两部分组成。
eg:localXml0[5] = {{0, SensorName5}, {1, SensorName1}, {2, SensorName2}, {3, SensorName6}, {4, SensorName4}};
localXml1[5] ={{0, SensorName0}, {1, SensorName1}, {2, SensorName2}, {3, SensorName3}, {4, SensorName4}};
localXml2[4] = {{0, SensorName5}, {1, SensorName6}, {2, SensorName7}, {3, SensorName8}};
localXml3[7] = {{0, SensorName5}, {1, SensorName6}, {2, SensorName7}, {3, SensorName8}, {4, SensorName9}, {5, SensorName10}, {6, SensorName11}};

设手机当前配置的Sensor列表如下:
ConfigXml[5] = {{0, SensorName0}, {1, SensorName1}, {2, SensorName2}, {3, SensorName3}, {4, SensorName4}};

由以上计算可知Distance为:
Distance0(ConfigXml, localXml0) = 1 + 0 +0 +1 + 0=2
Distance1(ConfigXml, localXml1) = 0 + 0 + 0 + 0 + 0 = 0
Distance2(ConfigXml, localXml2) = 1 + 1 + 1 + 1 + 2 = 6
Distance3(ConfigXml, localXml3) = (1 + 1 + 1 + 1 + 1) + 2 * (7 - 5) = 5 + 2 * 2 = 5 + 4 = 9

匹配xml:
匹配距离最小的xml即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值