3

我想要一个通过以受控方式使用 CPU 资源来耗尽电池电量的应用程序。她,通过受控方式,我的意思是,假设“X 单位/毫秒”是电池消耗率的最大量,而“Y 单位/毫秒”是电池消耗率的最小量。

现在,我想将一个 1 到 100 的整数作为程序的输入,我的应用程序会生成与其值对应的电池消耗。假设只有这个应用程序在系统上运行。

那么,有没有办法做到这一点?

4

1 回答 1

1

由于硬件和配置的差异,这样的应用程序可能需要自行校准。也就是说,它应该在监控电池的同时运行耗电任务,以估计这些耗电任务需要多少电量。

所以,需要做两件事:

电池监控

Android 提供了一个获取电池信息的 Intent。有一个 SDK 教程1。不幸的是,结果的粒度是有限的,可能是每个百分点。这意味着您需要更长时间的校准测试,并且您的结果(以及因此流失)的准确性将受到限制。

耗电任务

CPU 通常不是移动设备中最大的电力消耗者。LCD 是否打开可能比占用所有 CPU 内核更能影响消耗。无线电硬件(3G/GPS/WIFI)也可以产生比 CPU 更高的消耗。处于最大亮度的 LCD 会比处于最小亮度的 LCD 消耗更多的电量。AMOLED 会比 LCD 消耗更少的电量。

根据所使用的硬件,不同任务的性能会有很大差异。这就是需要校准的原因。

于 2013-09-14T02:03:41.737 回答