android - 如何检查蓝牙扫描引起的电池消耗

标签 android bluetooth ibeacon-android

我有一个 Android 应用程序,可以使用 Android 信标库检测 Eddystone 信标。我想测试应用程序引起的电池消耗,以找到最佳的背景和前景扫描速率。在“设置”>“应用程序”>“MyBeaconDetectorApp”中,蓝牙打开一个多小时后显示电池使用率为 0%。我认为该应用程序处于后台,因此它是 0%。但是,如何检查蓝牙扫描引起的电池消耗。我已将 BackgroundBetweenScanPeriod 设置为 1 分钟。

谢谢

最佳答案

虽然很难直接测量电池消耗,但以下是我使用的技术:

  1. 使用安装了有限数量的将在后台运行的应用程序的测试设备。恢复出厂设置后的库存 Nexus 设备是理想的选择。

  2. 将电池充电至 100%

  3. 将设备置于飞行模式并打开蓝牙。

  4. 安装您的应用程序并使其在后台运行。关闭屏幕,然后断开设备的 USB 连接器。

  5. 记下开始时间。

  6. 让应用在后台运行至少 8 小时,最好至少有一个信标。

  7. 测量电池电量。 100% 的增量是消耗百分比。请记下此数字和结束时间。

  8. 查看您的手机型号的电池容量为多少毫安时。将消耗百分比乘以 mAH,然后除以测试时间(以小时为单位)。这会告诉您运行应用程序时手机使用了多少毫安电流。

接下来,卸载您的应用程序,然后重复上述过程。这将为您的设备提供基准电池消耗,您的应用程序不运行。

最后,从应用运行时的 mAH 中减去 mAH 基线,以测量应用使用的额外 mAH。

最后一点:如果您确实在后台每分钟扫描一次(默认为每五分钟一次以节省电池),我预计这可能会导致大量额外的电池消耗。使用上述过程进行测试将告诉您确切的结果。我很想听听您的结果!

关于android - 如何检查蓝牙扫描引起的电池消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753978/

相关文章:

java - 静态快捷方式android不出现

android - ibeacon(信标)能否模仿NFC近距离发送通知?

android - iBeacon 后台扫描

java - Kontakt.io 信标示例的问题

android - Jetpack Compose 记得实际上做了什么,它是如何在引擎盖下工作的?

android - Gradle项目同步失败(相关性错误)

android - 检测 Android 设备上缺少蓝牙

java - 如何像HID键盘一样通过蓝牙广播文本?

iphone - iOS 设备和蓝牙

android - 我可以检测亚马逊平板电脑和其他产品吗?