android app功耗测试方法,APP功耗测试方法

android app功耗测试方法,APP功耗测试方法APP 功耗测试方法发布时间 2018 04 2623 27 浏览次数 560 标签 APP 业界比较难测试的一个测试 比如新旧版本对比不一定能说明问题 所以耗电量测试只能定量测试 作为辅助数据帮助我们测试 功耗测试可以基于硬件测试方法 第三方精密仪器 和基于软件测评方法 下面就两种测试方法进行阐述 一 为什么要进行耗电量测试 1 app 耗电量测试是用户非常关注的一个方面 如果一些 app 设计不好或者

APP功耗测试方法

发布时间:2018-04-26 23:27,

浏览次数:560

, 标签:

APP

业界比较难测试的一个测试,比如新旧版本对比不一定能说明问题,所以耗电量测试只能定量测试,作为辅助数据帮助我们测试。

功耗测试可以基于硬件测试方法(第三方精密仪器)和基于软件测评方法。下面就两种测试方法进行阐述:

一、为什么要进行耗电量测试

1、app耗电量测试是用户非常关注的一个方面,如果一些app设计不好或者代码有缺陷,就可能会导致耗电量消耗比较高。

2、当用户发现电池消耗过快的时候,就可能去查哪些应用消耗电量过多。

消耗排名比较高的,确有代替品的app,就可能会被用户卸载替换掉,所以针对app的耗电量进行专项测试。

二、耗电场景

软件之所以会耗电,是因为使用了手机的某种资源,手机各个模块的耗电情况是不同的。当程序有以下场景的一点或几点就会有耗电风险;比如

1、定位,尤其是调用gps定位(每次都请求)

2、网络传输,尤其是非wifi环境(移动环境里耗电量比较高,因为手机在使用移动网络的时候频繁去基站交换数据)

屏幕亮度

3、CPU频率(CPU频率高处理速度也不一定快,因为它跟系统频率,整体架构,GPU,缓存有关系)

4、内存调度频度(算法有作业排队前后顺序处理,短作业优先等多种)

5、wake_locker时间和次数(唤醒锁,我们平均每小时通过Alerm调起的次数不超过20次)

三、查看APP的耗电量

手机主屏幕-选择设置-查看电量消耗-查看各个APP电量消耗

四、耗电量API

安卓系统中很早就有了耗电量API,系统设置电池功能就是调用的这个API,利用PowerProfile类,读取powerprofile.xml文件。

五、Android电量测试方法

第一种:基于基于硬件的测试方案,使用用电量表来测试手机耗电量

(1)安捷伦。

(2)腾讯电量仪,原理:把手机电池取掉,将电量表串联在手机和外部电源之间,这样手机的供电就会经过电量表,可以获得比较准确的电量数据。

优点:精准

缺点:采购成本高,测试的是整个手机,不是被测APP,测试时要减少系统本身和其他app的干扰。得到数值无法直接参考,不知道合理还是偏高。不能给出进一步参考,比如具体哪个app方面消耗电量比较多。

第二种:借助第三方APP来评估手机上各APP的耗电情况。

1.Gsam Battery Monitor Pro是一款对电池进行监控的应用。

普通版功能:通知电池状态和时间,显示详细的电池使用内容,允许排序清单显示,应用程序的使用的cpu的使用率,感应器的使用,比如唤醒锁定,唤醒时间,可以指定时间观看时间内统计咨询。

专业版功能:大屏幕显示装置的优化监视,更精确的时间,加强控制某些应用选项

先要root手机,不root,只能看到部分功能。

Gsam安装。

2.Emmagee是一款实用的,便捷的性能测试工具,APP移动性能指标,用来监控指定的安卓应用的cpu,内存,流量启动,耗时,电量,电流等性能状态的变化。

功能介绍:

检测当前时间被测应用,占用的CPU使用率,以及总体CPU使用量。

检测当前时间被测应用占有的内存量,以及占有的总体内存百分比,剩余内存量。

检测应用从启动到当前时间消耗的流量数。

测试数据写入到,csv文件中,同时存储在手机中。

可以选择开启浮窗功能,浮窗中实时显示被测应用占有性能数据信息。

在浮窗中可以快速启动或者关闭手机的wifi网络

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217249.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:00
下一篇 2026年3月18日 上午10:01


相关推荐

  • PHP JSON_ENCODE 不转义中文汉字的方法

    PHP JSON_ENCODE 不转义中文汉字的方法ios程序中不识别读取到的JSON数据中\u开头的数据。PHP生成JSON的时候,必须将汉字不转义为\u开头的UNICODE数据。网上很多,但是其实都是错误的,正确的方法是在json_encode中加入一个参数JSON_UNESCAPED_UNICODE(bydefault7#zbphp.com)json_encode($data,JSON_UNESCAPED_U

    2022年7月13日
    22
  • UML时序图简析[通俗易懂]

    UML时序图简析[通俗易懂]前言在嵌入式软件开发中,必然会遇到与其他控制板卡或者服务器通信的情况。比如,制作一个无线远程控制系统。系统分为,输入设备,云端服务器,执行设备。其中输入设备,用户可以通过设备上的触摸屏进行交互,控制或者监测远程设备云端服务器,收发终端,接收输入设备的命令,并将其转换为执行设备可识别的信号发送到可执行设备。执行设备,执行服务器发送过来的命令,并且反馈当前的设备的一些状态.简单如下图所示。一般,这样的系统需要多人共同协作完成,输入设备的开发人员负责输入设备开发,云端负责云端,执行端负责执行端

    2022年6月16日
    69
  • linux审计日志在哪里,linux – 将审计日志发送到SYSLOG服务器

    linux审计日志在哪里,linux – 将审计日志发送到SYSLOG服务器编辑:2014年11月17日这个答案可能仍然有效,但在2014年,usingtheAudispplugin是更好的答案.如果您正在运行stockksyslogdsyslog服务器,我不知道如何执行此操作.但是有很好的指示可以在Wiki上使用rsyslog.(http://wiki.rsyslog.com/index.php/Centralizing_the_audit_log)我将总结一…

    2022年5月7日
    50
  • c语言中char类型转int类型「建议收藏」

    c语言中char类型转int类型「建议收藏」前言在九度oj做acm的时候,经常会遇到了char类型和int类型相互转化的问题,这里进行一下总结。今后,可能会多次更新博客,因为半年做了很多总结,但是都是保存在word文档上了,现在开始慢慢向CSDN博客转移。问题类型char型数字转换为int型转换方法a[i]-‘0’参考程序#include#include#includei

    2022年10月2日
    3
  • curl命令具体解释

    curl命令具体解释

    2021年12月3日
    56
  • 自动生成测试用例_测试用例设计的完整过程

    自动生成测试用例_测试用例设计的完整过程前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

    2022年7月28日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号