智能手机的耗电特征及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台手机并行测试。

时间: 2025-01-02 16:10:57

智能手机的耗电特征及APP耗电量测试的两种方法的相关文章

APP耗电量测试

现象 APP耗电,导致电池续航能力不佳,如下图,在小米MIX2和iPhone X机型上后台静默一小时各应用的耗电排行: 基本概念 相对于PC来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要.另外,Android的很多特性都比较耗电(如屏幕.GPS.sensor传感器.唤醒机制.CPU.连网等的使用),我们必须要慎重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验. 场景设计   主要的耗电场景有: cpu:复杂的运算逻辑.死循环等会直接导致CPU负载过高,会导致耗电:

【ADO.NET-中级】百万级数据的批量插入的两种方法测试

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). 运行下面的脚本,建立测试数据库和表值参数. --Create DataBase create database BulkTestDB; Go use BulkTestDB; go --Create Table Cr

通过分析来精简你的测试的6种方法(译)

过去几年来,组织开发软件的方法已经发生重大的改变了.从敏捷开发到持续的一切,开发者们正越跑越快,并在更少的时间内开发出更多的内容. 作为一名测试,你需要保持跟进.你必须使业务运行更快,减少到市场的时间,但是不能降低产品的质量,那样将会消极地影响你的品牌价值.用户对于他们所钟爱的产品,期待得到快速更新.缺陷修复,以及功能性的优化.而且当缩减成本时你需要完成所有这些.所以你如何精简你的测试以达到正确的平衡呢? 没有计划的测试会导致花费高成本和时间在几乎不产生价值的产品领域.但是当通过回归保持合理水平

app耗电量测试工具--PowerTutor

PowerTutor是一款用来测试手机功耗的小工具,它可以只管地展示手机系统主要的组件和各种用户app产生的功耗数据.它可以统计app的屏幕功耗(LCD).CPU功耗以及WiFi和3G网络功耗,我们可以用这款工具来监控任何一款app的耗电情况. 1. PowerTutor的首页面非常简单,只有 Start Profiler.Application Viewer.System Viewer .Help 四个菜单项.使用的时候要先点击 Start Profiler 开始,这时候中间的两项就变成可用状

Android Camera 使用小结。两种方法:一是调用系统camera app,二是自己写camera程序。

源文链接:http://www.cnblogs.com/franksunny/archive/2011/11/17/2252926.html Android Camera 使用小结 Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Intent和MediaStroe调用系统Camera App程序来实现拍照和摄像功能,二是根据Camera API自写Came

APP 打包成功的四种方法 转自

转载自 : http://www.jianshu.com/p/dd2b66cbf097 苹果真机测试:      http://www.jianshu.com/p/c8e86f62687a <iOS-最全的App上架教程>上面文章已经提到了第一种 也是 最为实用的一种 打包上架api的方式,这里就不多少了. 打包ipa的前提 1.证书的申请和设置和上面文章的一样 从第一步到第四步都是一样的http://www.jianshu.com/p/cea762105f7c2.还有第六步的 1-3都是一样

微信浏览器中禁止app下载链接的两种处理方法

通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载. 提供解决方案:1.使用腾讯应用宝:2.提示用户使用浏览器打开;3.外跳工具 参考了前端开发博客的一篇文章以及进行了改动.采用方案:弹出一个遮罩提示用户在新的浏览器窗口打开.原文链接:http://caibaojian.com/weixin-tip.html 再也不用管微信如何的更新,直接判断微信的ua,然后弹出一个遮罩提示用户在

毕业课题之------------车辆阴影特征检測的两种方法

A      依据阴影底部边缘确定阴影位置 B    通过阴影的形状(类似矩形)特征找出阴影

微信浏览器禁止app下载链接的两种处理方法

最近替朋友放一个微信下载链接,通过二维码扫描下载. 通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载. 提供解决方案:1.使用腾讯应用宝:2.提示用户使用浏览器打开. 参考了前端开发博客的一篇文章以及进行了改动.采用方案:弹出一个遮罩提示用户在新的浏览器窗口打开.原文链接:http://caibaojian.com/weixin-tip.html 再也不用管微信如何的更新,直接判