我正在尝试测试由Android和IOS信标检测器应用程序引起的电池消耗,以用于不同的信标协议和广告费率。我的问题是,信标的广告费率是否会影响探测器应用的电池消耗?这些应用程序扫描一段固定的时间,在固定的时间间隔后,不同的广告费率会有不同的影响吗?
由于
答案 0 :(得分:1)
是的,在大多数情况下,检测到更多信标的应用程序将使用比检测到更少信标的应用程序更多的电池。虽然在iOS和Android以及Eddystone / AltBeacon / iBeacon都是如此,每个组合的细节都有所不同。
在接收器端使用更多电池检测更多信标的两个原因:
将每个信标数据包从一个字节数组解码为有用字段需要更多CPU能力,然后触发应用程序对其执行一些有用的操作。需要解码的数据包越多,使用的CPU(和电池电量)就越多。
如果应用程序在检测到信标时在后台被唤醒,则更频繁的唤醒将导致应用程序更频繁地在后台运行,再次燃烧更多的CPU和电池。
在iOS 7+和iBeacon以及Android 5+(使用Android Beacon Library)上,蓝牙硬件过滤器用于缓解(1)当没有信标应用程序正在进行测距时的效果,而只是监控检测在后台。 iOS上的Eddystone或AltBeacon格式不是这样,因为它们通常无法有效地使用硬件过滤器。只需在后台查找检测项,这些格式可能会在iOS后台使用更多的电池电量。
好消息是,这个额外的电池使用时间真正发挥作用的是你长时间不断测量(扫描)许多信标,以及大部分额外的电池使用量只是为了进行扫描。如果您的应用程序一次持续扫描数分钟或数小时,您将看到显着的电池损坏。如果它只有100个信标而不是一个,你会发现更大的电池仍然存在。