adb获取Android性能数据

摘要:
Mac自动监控移动终端性能测试指标的安装:无需初始化的热启动过程adb命令:如果您担心应用程序耗时的界面活动启动,可以使用pm命令模拟Android行为或在设备上查询应用程序。执行adbshell后,grep在Windows系统dos窗口中被find3替换,内存使用量增加;在Windows系统的DOS窗口中,用find TOTAL行替换的grep行的数据作为当前应用程序内部测试占用率的测量数据;

环境:Android测试环境

搭建Android测试环境:

1、下载AndroidSDK;

2、配置环境变量;

(1)、ANDROID_HOME

(2)、ANDROID_HOME-TOOLS

(3)、ANDROID_HOME-PALTFORM-TOOLS

3、Android底层Java开发,如需运行安卓远程调试桥(adb),需Java运行环境;

4、下载JAVA;PS:下载JDK和JRE都行,JDK为JAVA开发环境,JRE为JAVA运行环境,开发环境中包含运行环境;

5、配置环境变量JAVA_HOME;

6、验证Java -version;出现版本号即可

PS:Android手机如与windowS电脑连接需安装手机驱动;Mac自动监测安装

移动端性能测试指标:

1、启动时间;(1)、冷启动     (2)、热启动

冷启动:应用的第一次启动,这个时候应用程序的进程是没有创建的

 热启动:应用非第一次启动,如果按back键,并没有将应用进程杀掉,热启动没有了初始化的过程

adb命令:adb shell am start -W  mainActivity        可以看到ThisTime    TotalTime    WaitTime

ThisTime表示一连串启动Activity的最后一个Activity的启动耗时;

TotalTime表示新应用启动的耗时,包括新进程的启动和Activity的启动,但不包括前一个应用Activity pause的耗时;

WaitTime就是总的耗时,包括前一个应用Activity pause的时间和新应用启动的时间;

最后总结一下,如果只关心某个应用自身启动耗时,参考TotalTime;如果关心系统启动应用耗时,参考WaitTime;如果关心应用有界面Activity启动耗时,参考ThisTime

PS:am全名activity manager,你能使用am去模拟更重系统的行为

       pm全名package manager,你能使用pm命令去模拟Android行为或查询设备上的应用等,当你在adb shell 命令下执行pm命令

   

2、CPU占用率;

adb命令:adb shell top | grep pid

              adb shell top | grep package

     adb shell dumpsys cpuinfo | grep pid

     adb shell dumpsys cpuinfo | grep package     

PS: 最好先adb shell 进入安卓系统,在执行adb shell之后的语句  windows系统dos窗口中grep换成find

3、内存占用率;

adb命令:adb shell dumpsys meminfo | grep pid

           adb shell dumpsys meminfo | grep package

PS: 最好先adb shell 进入安卓系统,在执行adb shell之后的语句。  windows系统dos窗口中grep换成find

  TOTAL行的数据作为当前app内测占用的衡量数据;

执行出现结果会看到USS、RSS、VSS、PSS

USS指进程对子占用物理内存(不包含共享库占用的内存);

RSS指实际使用的物理内存(包含共享库占用的内存);

VSS指虚拟好用内存;

PSS指实际使用的物理内存;

PS:移动端采用PSS指标

4、耗电量;

adb命令:adb shell dumpsys battery

PS: 最好先adb shell 进入安卓系统,在执行adb shell之后的语句

出现信息解读:

AC powered:false  是否连接AC(电源)充电线

USB powered:true  是否连接USB(PC或笔记本USB插口)充电

Wireless powered:false  是否使用了无线电源

status: 1    电池状态,2为充电状态,其他为非充电状态

level:58     电量(%)

scale: 100.        电量最大数值

voltage: 3977      当前电压(mV)

current now: -335232.     当前电流(mA)

temperature:355      电池温度,单位为0.1摄氏度

technology:Li-poly.    电池种类

5、温度;

cat /etc/thermald.conf

cat 为查看命令

6、每秒帧数(流畅度)[fps];

adb命令:adb shell dumpsys gfxinfo package

PS: 最好先adb shell 进入安卓系统,在执行adb shell之后的语句

     正常情况下帧率应该在16ms左右,如果1秒60帧的话,而且Execute时间太长!需要优化

7、GPU占用率;

PS :游戏会测试到,但一般不去测试该指标;

8、网络;

(1)、Wi-Fi[网络友好度]

(2)、蜂窝[耗费资源和友好度]

adb 命令:adb shell dumpsys package | grep userId         [通过app包名,获取app的userID(安装后唯一且固定)]

               adb shell cat /proc/uid_stat/userId/tcp_rcv      [cat为查看命令,读取tcp_rcv获取下载应用流量信息(设备重启后清零)]

       adb shell cat /proc/uid_stat/userId/tcp_snd     [cat为查看命令,读取tcp_snd获取下载应用流量信息(设备重启后清零)]

9、ANR(页面无响应);

10、Crash(程序崩溃);

PS :ANR和Crash使用Monkey测试

注:dumpsys是Android手机里面的可执行文件

免责声明:文章转载自《adb获取Android性能数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 查看iptables状态重启Java小项目之:教你做个开心消消乐!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android之查看外部依赖jar的源代码_android private libralies does not allow modifications to source

在Eclipse中开发android的应用程序时,有时想查看函数的内部实现。可是当在函数上点击ctrl和鼠标左键的时候。 往往出现例如以下提示:  Class File Editor Source not found The JAR of this class file belongs to container 'Android'  which does...

yarn的安装与使用及与npm对应的命令

在Nodejs环境下,通过npm install -g yarn 命令进行全局安装 例如:yarn versionyarn inityarn installyarn add vueyarn add vue-routeryarn remove vue-router CLI 命令比较 npm Yarnnpm install yarn install(N/A)...

统信操作系统 安装nginx

注意:我们的安装包 因为统信 是 ubantu的 所以对应ubantu nginx 1、在/home目录输入命令新建npf文件夹mkdir npf进入npf 目录输入命令新建nginx-server文件夹mkdir nginx-server 2、将以下安装包上传到nginx-server 下 pcre-8.38.taropenssl-1.0.2n.tarz...

Micrometer 快速入门

Micrometer为最流行的监控系统提供了一个简单的仪表客户端外观,允许仪表化JVM应用,而无需关心是哪个供应商提供的指标。它的作用和SLF4J类似,只不过它关注的不是Logging(日志),而是application metrics(应用指标)。简而言之,它就是应用监控界的SLF4J。 Micrometer(译:千分尺) 不妨看看SLF4J官网上对...

adb shell dumpsys meminfo 详解

dumpsys meminfo详解adb shell dumpsys meminfo [pkg/pid] 可以用来查看指定进程包名的内存使用情况 dumpsys meminfo -h 帮助meminfo dump options: [-a] [-d] [-c] [-s] [--oom] [process] -a: include all available...

LinuxE2系统刷机后OSCAM安装与读卡器设置

我也属于E2小白,最近才开始玩这个系统。从dinobot 4k+,到H7s,在到H5,各种E2机器都买了。刚开始入手的时候,怎么这么麻烦?慢慢的发现,烧新,玩E2也是一种乐趣,只不过最近困扰我的刷机后的Oscam安装,论坛关闭,自能自己在群里慢慢摸索,这里记录下方法与过程,仅供与我同样的E2新手小白玩家学习。 恐龙级很烦,刷刷机,然后就刷不进去了,我只有自...