智能手机的耗电特征及APP耗电量测试的两种方法
扫描二维码
随时随地手机看文章
文章陈述了手机发展趋势及耗电特性,集中讨论了时下最为关心的智能手机耗电问题,并介绍了测量手机软件耗电量的两种方法。此外还解释了为何运营商此前会提出收取微信的费用,心跳机制是什么。
美国著名手机公司Palm的CEO JonRubinstein曾经说过:“手机未来的发展取决于两个因数,一是手机的数据传输速度;二就是手机待机时长。”
为什么手机待机时长如此重要呢?
现在,手机上网速度已经有很大的提升,而且还在马不停蹄的发展4G,5G。4G网络可以将手机的上网速度提高到100Mbps以上,简单的说,下载一首歌曲不用1秒钟,下载一部电影不到1分钟。现在正在制定和规划的5G网络,通过手机上网的速度甚至可以达到1Gbps。所以可以想象,在数据速度不再受到限制的情况下,“智能手机”结合各种应用软件以及“云”计算,未来的手机将成为真正的“移动终端”。手机身份证,手机银行,手机钱包、手机交通卡,手机导航,手机智能驾驶……,所有的事情都使用这个“手机”通过网络完成。
当“手机”已经变成了你时时刻刻都离不开“终端”,手机没电是不是非常致命?
导致手机的待机时间短的原因比较复杂,包括手机待机状态功耗,通话时间,上网时间,无线信号强弱,GPS导航,显示屏亮度,各种软件后台运行,电池容量大小等都会影响待机时间。通常我们最关心的是手机从上一次充电到手机自动关机或提示电量不足的时间长短。
要全面分析和优化手机的待机时长,手机、电池、充电管理一个都不能少,暂且让我们称它们是“手机三件套”吧。那就让我们从手机的耗电特性开始!
手机发展趋势和耗电特性
智能手机越来越普及,硬件处理能力越来越强,支持的软件应用越来越多。
我们不免也有另一种担心,现在的智能手机的待机时间已经是一个短板,未来的智能手机待机时间变得更加短呢?
从理论上来说,更大的显示屏、更多核的处理器、更多样化的无线连接技术等肯定会增加手机的耗电量。同时,手机的功能也越来越多,手机使用的频率也会越来越频繁,因此对手机的耗电性能进行优化和管理也变得更加重要。譬如在不操作手机时更快的进入休眠,采用脉冲形式发射无线信号,非连续接收及非连续发射等。
为了优化和改善手机的耗电,就必须先了解手机耗电的特征或发现手机存在哪些耗电性能上的缺陷,做到有的放矢。
手机耗电的特征可以归纳为以下几个方面:
1.电流幅度波动大:
a) 关机漏电流:~10 to 100nA
b) 休眠电流: ~100 μA to 10mA
c) 待机电流: ~5 to 50 mA
d) 接收状态: ~100 to 300 mA (脉冲)
e) 发射状态: ~1 to 2.5 A(脉冲)
f) 应用软件运行:~100mA to 2A
2.电流变化的速度快、动态大:
上图是GPRS手机发射Tx和接收Rx的电流波形:
a) 发射TX电流脉冲为0.58 ms,电流 2.02A;
b) 接收RX 电流脉冲为1.2ms,电流143 mA
c) 连续发射Tx电流脉冲间隔为 4.6 ms;
d) 空闲Idle状态的电流为1mA。
3.电流是多种功能综合,难以区分是谁引起的电流:
上图是手机从Idle到显示屏点亮,再到拨号打电话过程的电流波形;在显示打开且手机发射的位置,电流时二者叠加的组合电流。
4.通常需要长时间的对电流进行跟踪和观察
如上图需要测试手机通话时长,要持续4个小时连续记录电流、电压的变化,分析通话过程消耗的电量(843mAh),而且还需要准确测量脉冲电流,往往变得非常困难。
应用软件在手机上的耗电
运营商为什么说提出收取微信的费用?
一般Android手机每天有超过15-20%的电量被消耗在发送过度频繁的心跳上
微信,你一定不陌生吧?网上是这样介绍微信的:
微信是一种更快速的即时通讯工具,具有零资费、跨平台沟通、显示实时输入状态等功能,与传统的短信沟通方式相比,更灵活、智能,且节省资费。针对图片、语音和视频优化,1M可发约1000条文字信息,1000秒语音信息,约1分钟视频信息;微信有着精心设计过的通信协议,在后台运行时仅消耗极少流量,一个月消耗约1.7M流量。
此前,曾冒出来一条新闻说微信要开始收费。大家会好奇——为什么要收费?谁要收费?收的是什么费?下面我们来说说这个事儿。
微信是通过数据业务将文字、图片、语音或视频等内容传输出去的,因此,只要通过WIFI或者数据包月就可以实现完全的免费。因此,只要软件开发商如腾讯不收取软件费用,理论上用户就没有理由支付任何的费用。
然而,移动通信网络中由于用户众多、资源稀缺,每个用户都是动态占用资源,比如IP地址以及无线信道。为了实现即时通讯,微信软件采用向移动通讯网络周期性的发送资源分配请求,即使后台运行,也保持在线状态。这种机制也称作为“心跳机制”。
最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比喻。一旦收不到对方的心跳信息,服务器可以接管对方的业务,避免业务的停滞。为了业务的顺畅进行,服务器发送的心跳信息可以非常频密。
这种机制被手机上的互联网应用所借用,无论是Android的原生应用,还是QQ、微博和微信,都采用了这种心跳机制,也就是终端定时向应用服务器发送简短的信息。诸如旧版QQ的心跳周期为30秒,新版QQ为3分钟,微信为5分钟,Google原生应用为28分钟左右。而手机每次发送心跳包,都需要移动通信网络为用户分配资源,分配的过程体现在信令的发送和接收上。一次心跳包的发送过程,牵涉的信令多达几十条。这些网络资源分配的信令信息运营商是不能进行收费的,就好比手机拨电话没有接通的时候,也是很多信令信息的交互而用户不用付费。
中国移动研究院院长黄晓庆在接受媒体采访时,道出了微信业务给运营商带来的压力,称微信仅为中国移动带了10%的移动数据流量,却占用其60%的信令资源。这也被外界理解为向微信收费的直接原因。
现在我们终于明白了,中国移动等运营商为什么说要收取微信的费用?收发微信的内容如图片、语音或视频等的数据流量费用,这个已经收取了(只是算在我们包月数据流量套餐里面),还要收取微信的“心跳”费用!
其实运营商也不想一想,没有这种“心跳”,哪里后面的数据流量的收费啊?
当然,微信等创新的交流软件平台,的确是影响了运营商的短信、彩信甚至通话等收入,但这是历史发展的趋势,谁也无法阻挡。
不管收不收费,这种“心跳”还意味着每天你的手机将被从待机省电状态唤醒近300次,每次相当于打一个几秒钟的电话。粗略测算,一般的Android手机每天有超过15-20%的电量被消耗在发送过度频繁的心跳上。
为了延长手机的待机时间,建议如果长时间不用的话,还是连后台运行也关闭吧。
应用软件在手机上的耗电能测量吗?
相信大家对某运营商投放的这段电视广告应该再熟悉不过了——“xxx手机已经有10万个应用程序”!与之相应的是网络上热议的话题——5G技术最高理论下载速率可10Gbps。
这两个信息提示我们“移动互联时代”时代真的要来了……
“移动互联时代”的手机就更加有理由成为真正意义上的“移动终端”,在未来通信速度不再受限制的情况下,通过安装什么样的应用软件,手机就可以变成什么样的终端。虽然在3G时代,通信速率还远没有达到带宽不受限制,但现在的“智能手机”走在“移动终端”蜕变的路上,已经有数以万计的应用软件可以下载安装,使手机变成各种功能独特的“终端”。
手机之所以区别于电脑或其他通讯工具,最突出的优势就在于其移动性、便携性。而采用锂电池供电又是其移动性、便携性的基础,可以说锂电池的出现成就了手机,但锂电池的容量瓶颈已经让手机待机时间短成为一个突出问题。
其实,锂电池的容量已经出当初的数百mAh提高到了现在的数千mAh,待机时间变得越来越短,根本原因在手机的耗电比原来大了更多,包括手机更耗电的硬件——之前的博文“手机发展趋势和耗电特性”已经做过相关的介绍。
另一个突出的变化就是手机需要安装和运行更多的应该软件,有些运用软件运行时需要消耗大量的电能,如前面提到的微信,QQ,微博等。
应用软件需要消耗电量,大家都容易理解,但究竟哪个软件耗电大,哪个耗电量小,如何定量的评估呢?估计这个问题一直困扰着很多软件开发者。相比硬件的耗电非常的直观,如显示屏的亮度等级耗电是非常容易对比和测量。软件的耗电比较抽象和难以测试,是因为软件必须运行在手机硬件的基础上,测量到的耗电量是软件与手机的硬件综合叠加的耗电总和。对于耗电来所我们无法认为的剔除硬件的耗电而单独测试软件的耗电。
所以,如何测试软件的耗电?我建议软件开发者可以有以下两种方法:
一、横向对比法:分两步测试,第一步测量手机硬件运行消耗的电量;第二步测试手机硬件和软件运行综合的耗电量。最后将两次的耗电进行对比,得出软件消耗的电量大小;
二、纵向对比法:同时进行两台手机,其中一台手机不运行软件,另一台手机运行软件;分别获得两台手机的耗电量,对比两台手机耗电量差异,得出软件消耗的电量大小。
这两种方法在测试上有一定的差异,很多应用软件都是需要移动网络的支持,而手机接收的网络信号时会随时间变化的。
因此、第一种方法的误差主要来源于手机在不同的基站网络下工作状态的变化。
第二种方法的差异则体现在两台手机本身硬件消耗的电量可能存在差异,所以需要尽可能使用同一型号,同一批次的手机。而且需要使用多通道的耗电测试仪表,如之前提到的安捷伦N6705B可以最多同时支持4台手机并行测试。