2016-08-03 115 views
1

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

由于

回答

2

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

  1. 使用的试验装置安装的应用程序,将在运行的有限数量的的背景。出厂重置后的股票Nexus设备非常理想。

  2. 电池充电至100%

  3. 使器件进入飞行模式和付诸蓝牙。

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

  5. 请注意开始时间。

  6. 让应用程序在后台运行至少8小时,理想的情况是在至少有一个灯塔的情况下运行。

  7. 测量电池电量。从100%的三角洲是百分比流失。记下这个数字和结束时间。

  8. 查找您的电池有多少毫安适用于您的手机型号。用mAH乘以百分比,然后除以测试时间(小时)。这会告诉您手机在运行应用程序时使用的毫安数。

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

最后,在您的应用程序运行时从mAH中减去mAH基准以测量应用程序使用的额外mAH。

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

+0

我一定会试试这个。我打算使用在线服务,也许是AWS设备农场来实现这一目标。不过,我不能要求在他们的测试中心引入信标。你认为附近没有灯塔会影响电池消耗吗? –

+1

是的,没有附近的灯塔会影响它在两个方面:(1)如果在Android 5+上测试,硬件过滤器用于最大限度地减少电池消耗,当没有信标周围时,但在信标周围时不使用,而是定期扫描。 (2)当信标周围时,需要一小部分但不是微不足道的CPU来解析数据包中的标识符。 – davidgyoung