手机的耗电量主要是由手机的一些部件产生的,如cpu、wifi、gps等。所以耗电量主要集中在app上传、下载数据,检查位置、唤醒锁屏等。

  现在稍微详细来了解下这些是怎么耗电的:1.WIFI(蜂窝式无线):开启wifi的时候,为了让硬件投入使用,(1)会出现一个唤醒耗电高峰,(2)接下来就是发送数据包消耗的电量,(3)然后接收数据包也需要很多电量,(4)完成执行工作后,硬件会保持一段时间内的开启,防止一小段时间内还有数据包需要接收。如下图所示:

app电量相对专项测试_wifi


2.锁屏唤醒:当解锁点亮屏幕的时候,会看到耗电有个很大的涨幅。打开指示灯,GPU绘制整个屏幕,然后CPU开始工作。如下图所示:

app电量相对专项测试_wifi_02

当然,这和手机本身应用程序唤醒不一样,应用程序如:AlarmManager,唤醒耗电只是一个小峰值。


对于如何测试因以上问题而造成app耗电量大的方法,目前采取以下手段:

  1.通过手机系统自带的电量计算工具,横向比较与同类应用耗电量高低,纵向比较手机内所有应用耗电量的高低(不要排在前几位);

  2.而后再通过battery historian这个工具进行详细的分析。(见http://www.cnblogs.com/jytian/p/5647798.html  http://blog.csdn.net/itfootball/article/details/44084159 )

当然,对于采用什么样的方式下进行以上测试呢。目前采用以下方法:

  1.锁屏与解锁下,多个时间点观察

  2.前台与后台下,多个时间点观察

  3.wifi、4G、3G、2G下,多个时间点观察

  4.设置几个时间段,持续触发app应用内的耗电量大户

  5.通过monkey,让app自由的使用