我有一个 Android 应用程序,可以使用 Android 信标库检测 Eddystone 信标。我想测试应用程序引起的电池消耗,以找到最佳的背景和前景扫描速率。在“设置”>“应用程序”>“MyBeaconDetectorApp”中,蓝牙打开一个多小时后显示电池使用率为 0%。我认为该应用程序处于后台,因此它是 0%。但是,如何检查蓝牙扫描引起的电池消耗。我已将 BackgroundBetweenScanPeriod 设置为 1 分钟。
谢谢
最佳答案
虽然很难直接测量电池消耗,但以下是我使用的技术:
使用安装了有限数量的将在后台运行的应用程序的测试设备。恢复出厂设置后的库存 Nexus 设备是理想的选择。
将电池充电至 100%
将设备置于飞行模式并打开蓝牙。
安装您的应用程序并使其在后台运行。关闭屏幕,然后断开设备的 USB 连接器。
记下开始时间。
让应用在后台运行至少 8 小时,最好至少有一个信标。
测量电池电量。 100% 的增量是消耗百分比。请记下此数字和结束时间。
查看您的手机型号的电池容量为多少毫安时。将消耗百分比乘以 mAH,然后除以测试时间(以小时为单位)。这会告诉您运行应用程序时手机使用了多少毫安电流。
接下来,卸载您的应用程序,然后重复上述过程。这将为您的设备提供基准电池消耗,您的应用程序不运行。
最后,从应用运行时的 mAH 中减去 mAH 基线,以测量应用使用的额外 mAH。
最后一点:如果您确实在后台每分钟扫描一次(默认为每五分钟一次以节省电池),我预计这可能会导致大量额外的电池消耗。使用上述过程进行测试将告诉您确切的结果。我很想听听您的结果!
关于android - 如何检查蓝牙扫描引起的电池消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753978/