手机的耗电量主要是由手机的一些部件产生的,如cpu、wifi、gps等。所以耗电量主要集中在app上传、下载数据,检查位置、唤醒锁屏等。
现在稍微详细来了解下这些是怎么耗电的:1.WIFI(蜂窝式无线):开启wifi的时候,为了让硬件投入使用,(1)会出现一个唤醒耗电高峰,(2)接下来就是发送数据包消耗的电量,(3)然后接收数据包也需要很多电量,(4)完成执行工作后,硬件会保持一段时间内的开启,防止一小段时间内还有数据包需要接收。如下图所示:
2.锁屏唤醒:当解锁点亮屏幕的时候,会看到耗电有个很大的涨幅。打开指示灯,GPU绘制整个屏幕,然后CPU开始工作。如下图所示:
当然,这和手机本身应用程序唤醒不一样,应用程序如:AlarmManager,唤醒耗电只是一个小峰值。
对于如何测试因以上问题而造成app耗电量大的方法,目前采取以下手段:
1.通过手机系统自带的电量计算工具,横向比较与同类应用耗电量高低,纵向比较手机内所有应用耗电量的高低(不要排在前几位);
2.而后再通过battery historian这个工具进行详细的分析。(见http://www.cnblogs.com/jytian/p/5647798.html http://blog.csdn.net/itfootball/article/details/44084159 )
当然,对于采用什么样的方式下进行以上测试呢。目前采用两种方法:
1.设置几个时间段,持续触发app应用内的耗电量大户
2.通过monkey,让app自由的使用
原文地址:http://7080696.blog.51cto.com/7070696/1842892