我有一些导航应用程序,我想知道我的应用程序中传感器的不同采样率如何影响电池消耗。
我使用:adb shell dumpsys cpuinfo
命令进行了多次测试。
结果(加速度计和陀螺仪):
0Hz - cpu使用率为:17%
15Hz - cpu使用率为:20%
100Hz - CPU使用率为:23%
我如何从CPU使用情况中了解电池寿命减少了多少?(例如,如果我使用我的应用程序1小时)
答案 0 :(得分:0)
首先,您需要了解系统配置的每个时钟速度值的电压/安培水平,有时可以从您的设备获取此信息(如果您具有root访问权限),或者从数据表中获取此信息。
接下来,您需要知道CPU在每个州花费了多少时间,以便进行信息检查/sys/devices/system/cpu/cpuN/cpufreq/stats/time_in_state
。
相关问题:Android read CPU time in states for multicore devices
然后乘以空闲和运行功耗之间的差值,添加 空闲级别和值将或多或少准确地运行您的设备一段时间的功率。将此值与未运行程序并使用不同参数运行时获得的值进行比较,可以猜测电池寿命的变化。
但请记住,功耗取决于许多其他因素,而不仅仅是CPU速度和利用率。例如,传感器也消耗功率(一些传感器 - 相当大的数量),并且在任何现实生活中,无线电显示通常会浪费大部分电池电量。