移动App性能测评与优化2.1.1 硬件测试

简介:

2.1.1 硬件测试

方法1:通过Android API获取,代码如下:

registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

这种方法的缺点:获取手机整机耗电,实时性差精度小(只能监控电池电量剩余量和跳变),测试工具本身的性能消耗,手机休眠后无法持续监测。

方法2:通过读取系统电池传感器设备节点。

/sys/class/power_supply/battery/uevent

这种方法的缺点是:测试工具本身的性能消耗,持续采集频率不得超过100Hz,只有部分机型支持此节点(Nexus 4, Nexus One)。

方法3:使用外置电流仪。

这种测试方案可以很好弥补上面两种方案的缺点,不受测试机型限制,不会造成测试方案本身带来的额外的性能消耗,可以达到很高的测试精度,可以达到很高的采集频率。唯一的缺点就是电流仪价格高得感人。

确定了测试方案,下面详细介绍测试环境的搭建,测试工具的使用,以及一些方案落地成果。

1. 硬件测试工具简介

测试工具包括如图2-2所示。图2-2a是直流恒压电源(Agilent 66319D)。图2-2b是GPIB(通用接口总线)。图2-2c是模拟电池。图2-2d是PC端电流软件。

使用方法如下:

1)把假电池装进待测试的手机,如图2-3a所示。

2)假电池出来的两根引线连接到稳压电源的输出接口OUTPUT上引线的接线正负位置,如图2-3b所示。

3)GPIB线连接稳压电源和电脑,如图2-3c所示。

4)整体连接图展示,如图2-3d所示。

完成以上步骤后,PC端装好电流软件,启动,设置相关的参数,然后开启稳压电源,开启手机,就可以进入手机的电流测试了。

 

图2-2 硬件测试工具示意图

 

图2-3 硬件测试工具接线图

采集数据流程如下:

1)Reset电源的初始状态。

2)直流恒压电源设置为4.2V电压值。

3)参数配置完成后按下DLOG按钮记录日志(参数配置见使用手册)。

4)按下Measure按钮开始电流测试,测试完成后保存LOG到自定义目录。

分析结果如下:单击Marker线,会产生2条垂直的标记线,可以任意移动,软件右下方自动产生成2条标记线之间的时间和耗电量,如图2-4所示(耗电量=时间×电流)。

 

图2-4 数据采集软件

2. 案例分享

以上介绍的硬件测试方法,主要适用于对整机场景功耗的量化。下面介绍下我们在使用这种测试方法在实际项目上的应用成果。

【例2-1】分析CPU频率与电量消耗的关系

CPU的功耗会随着频率提升而增加已经是大家的共识,仅仅只考虑CPU的频率而定论它的功耗是否正确呢,对此我们做了一系列的测试,同时控制CPU的频率和使用率,观察在各个场景下的电流值,如图2-5所示。

 

 

图2-5 CPU主频与耗电的关系

通过测试数据发现,在CPU空闲的情况下,CPU频率对耗电的影响几乎是忽略不计的,因此在系统空闲的时候对手机强制降频是不能节电的(单核的情况下,在多核的情况下场景会更加复杂);在CPU使用率30%的情况下,手机达到800MHz以后手机的功耗随CPU频率增加的幅度增加,这时候可以考虑适当降低CPU频率获得更好的功耗控制;在CPU使用达到50%,手机的功耗已经和频率成直线增加,这时候降低CPU频率增加CPU使用率,并不一定会给手机功耗带来很好的成效;所以在选择降频节能方法时,要充分考虑CPU频率和使用率带来的是真的省电还是徒劳无功。

【例2-2】分析手机屏幕背景色与功耗的关系

在手机的正常使用过程中,屏幕其实是最大的耗电元凶,那么显示屏幕材质,以及选择屏幕背景色对手机功耗的影响到底是怎么样的,我们可以通过硬件的测试方式来做一个详细的对比。表2-1是当年主流手机显示屏技术与功耗的对照表。

而不同的显示屏幕实现技术在不同颜色显示上的表现是怎么样的?在不同的屏幕上我们长时间使用的背景色应该怎么选择呢?以下是三星官方给出的OLED和LED的色彩功耗对比图,如图2-6所示。

 

表2-1 各种材质屏幕和功耗的关系

技术     材质类型     功耗

LCD      LCD+LED背光  

      TFT-LCD    

      IPS

      SLCD   

OLED    AMOLED    

      Super AMOLED 

 

 

图2-6 不同屏幕不同颜色与功耗的关系

可以看出全白的时候OLED耗电是LCD的3倍,全黑的时候LCD耗电是OLED的10倍,30%白色的时候两者相当。

针对LCD屏幕,我们只需要关注屏幕亮度值(0~255)带来的耗电,值越大耗电越大;而针对OLED屏幕,我们不但要关注屏幕的亮度值,还需要关注每个像素的RGB值。对此我们也做了一些验证,帮助项目组在适配不同机型时,选择怎么样的色彩,如图2-7所示。

由以上的数据可知SLCD屏幕同图片耗电最亮是最暗的2~3倍,建议在亮度选择的时候使用适当的亮度;Super AMOLED最高亮度时全黑比全白节电60%,建议应用UI尽量采用深色调。

 

图2-7 SLCD对比Super AMOLED屏幕亮度与功耗

相关文章
|
1月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
120 8
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
58 4
|
1月前
|
定位技术 开发者
游戏开发者如何使用独享静态代理IP进行测试与优化
随着互联网技术的发展,使用代理IP的人数逐渐增加,特别是在业务需求中需要使用静态代理IP的情况越来越多。本文探讨了独享静态代理IP是否适用于游戏行业,分析了其优势如稳定性、不共享同一IP地址及地理位置选择等,同时也指出了需要注意的问题,包括可能的延迟、游戏兼容性和网络速度等。总体而言,选择合适的代理服务并正确配置,可以有效提升游戏体验。
36 2
|
13天前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的16psk调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的16PSK调制解调系统的硬件测试版本。系统在原有仿真基础上增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同信噪比下的性能测试。16PSK通过改变载波相位传输4比特信息,广泛应用于高速数据传输。硬件测试操作详见配套视频。开发板使用及移植方法也一并提供。
27 6
|
13天前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
19天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的8PSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现8PSK调制解调系统,包含高斯信道、误码率统计、ILA数据采集和VIO在线SNR设置模块。通过硬件测试和Matlab仿真,展示了不同SNR下的星座图。8PSK调制通过改变载波相位传递信息,具有高频谱效率和抗干扰能力。开发板使用及程序移植方法详见配套视频和文档。
35 7
|
26天前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的QPSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的QPSK调制解调系统的硬件实现与仿真效果。系统包含测试平台(testbench)、高斯信道模块、误码率统计模块,支持不同SNR设置,并增加了ILA在线数据采集和VIO在线SNR设置功能。通过硬件测试验证了系统在不同信噪比下的性能,提供了详细的模块原理及Verilog代码示例。开发板使用说明和移植方法也一并给出,确保用户能顺利在不同平台上复现该系统。
65 15
|
24天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
34 11
|
26天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
56 13
|
26天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
49 10

热门文章

最新文章