android - 使用 android iBeacon 库的电池消耗 - 简短但定期扫描

标签 android bluetooth-lowenergy ibeacon

目前我只需要一个粗略的指南,当然也欢迎具体的计算!

我正在考虑在一个应用程序中使用 Radius Network 的 Android iBeacon 库来监听 iBeacon 广告。

我对此并不陌生,但据我了解,扫描 BT 设备是 BLE 系统中耗电量最大的部分,因此不建议持续运行,但我希望能够“当他们在某个区域时捕捉设备,即一个人穿过大厅。

Android Beacon Lib 的文档指出,电池管理器的默认设置每 5 分钟扫描 30 秒(主动扫描 10% 的时间),这将 Nexus 5 的电池消耗从大约 90mA 减少到 37mA。

我的问题是……每 30 秒扫描 3 秒(也是 10% 的时间)是否会实现同样的电池节省?或者是否有启动扫描过程的开销,这意味着节省的费用会更少?如果是的话是多少?

最佳答案

您必须进行测量才能确定,但​​我怀疑您会从您描述的周期中获得类似的节电(由于您建议的启动开销,节电可能会略少。)

这种方法的缺点是您可能会错过 3 秒间隔内的检测,尤其是在有很多信标、较远的信标或信标传输不频繁的区域。您必须决定是否值得进行权衡。

要测试节能效果,请执行以下操作:

  1. 在测试设备上,卸载尽可能多的应用,以限制可能以不可预测的方式耗电的后台 Activity 。
  2. 安装一个在您描述的周期内执行后台扫描的应用,并在您的设备上启动它。
  3. 将电池充电至 100℅
  4. 关闭 WiFi 和移动数据以防止系统下载以不可预知的方式耗电。
  5. 记下时间,关闭屏幕,让设备休息一下,大约每隔一小时检查一次电池电量。
  6. 当电池电量达到 5% 时,记下时间。
  7. 重复上述测试,让应用在后台持续扫描。

上述过程的最终结果将为您提供两种情况下耗尽电池的时间。由此您可以计算出节电的百分比差异。

请让我们知道您发现了什么!

关于android - 使用 android iBeacon 库的电池消耗 - 简短但定期扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24159193/

相关文章:

android - 应用程序/Activity 被终止时如何避免系统终止服务

java - Dialog 的对象位置 Libgdx

Android 6.0 Marshmallow BLE 连接问题

iOS 7.1.2 : what did really change for iBeacon?

android - 如何在不允许查看或克隆整个项目的情况下显示源代码中的更改

java - 使用变量类名而不是大量的 if 子句?

windows - 微软低功耗蓝牙广告

objective-c - 有界和无界设备有什么区别?

ios - 我们可以在 iOS 上检测到非 iBeacon 信标吗?

android - Google 附近的通知无法正常工作