android - 信标的广告率是否会影响检测器应用程序的电池

标签 android ios ibeacon ibeacon-android eddystone

我正在尝试针对不同的信标协议(protocol)和广告率测试由 Android 和 IOS 信标检测器应用程序引起的电池消耗。我的问题是信标的广告率是否会影响检测器应用程序的电池消耗?这些应用程序扫描固定的时间和固定的间隔后,不同的广告率会产生什么影响吗?

谢谢

最佳答案

是的,在大多数情况下,检测到更多信标的应用会比检测到更少信标的应用消耗更多电量。虽然在 iOS 和 Android 以及 Eddystone/AltBeacon/iBeacon 上都是如此,每种组合的详细信息各不相同。

在接收器端使用更多电池检测更多信标的两个原因:

  1. 将字节数组中的每个信标数据包解码为有用的字段,然后触发应用程序对其执行一些有用的操作,需要更多的 CPU 处理能力。需要解码的数据包越多,使用的 CPU(和电池电量)就越多。

  2. 如果应用在检测到信标时在后台被唤醒,更频繁的唤醒将导致应用更频繁地在后台运行,再次消耗更多的 CPU 和电池。

在带有 iBeacon 的 iOS 7+ 和 Android 5+(带有 Android Beacon Library )上,当没有信标应用程序主动测距时,蓝牙硬件过滤器用于减轻 (1) 的影响,而只是监视检测的背景。 iOS 上的 Eddystone 或 AltBeacon 格式并非如此,因为它们通常无法有效地使用硬件过滤器。当仅在后台查找检测时,这些格式可能会在 iOS 后台使用更多电池电量。

好消息是,这种额外的电池使用量真正发挥作用的唯一时间是当您长时间不断地测距(扫描)许多信标时,并且大部分这种额外的电池使用量只是为了进行扫描。如果您的应用程序一次持续扫描数分钟或数小时,您会发现电池电量耗尽。如果它在周围有 100 个信标而不是一个信标的情况下这样做,您将看到更大的电池耗电量。

关于android - 信标的广告率是否会影响检测器应用程序的电池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836830/

相关文章:

ios - 在后台监控 iBeacon 信标

ios - 是否可以在没有硬件 iBeacon 的情况下仅基于位置将我的应用程序的快捷方式作为建议应用程序放在 iOS 8 的锁定屏幕上?

iphone - iBeacon:是否可以通过传输发送小数据进行跟踪?

java - 如何将度数计算转换为弧度? (卡瓦到 java )

android - 无法使用 gradle 3.0 解析 rxjava2

ios - 在整个应用程序中禁用 UITextField 的自动更正

ios - 在iOS中使用Restkit将JSON传递给请求主体

java - 处理 "Activity has been destroyed"(java.lang.IllegalStateException) 异常?

android - 使用 ExoPlayer 再现加密视频

ios - 如何像 Evernote 应用一样从 iPad 屏幕底部显示 UIView