zoukankan      html  css  js  c++  java
  • adb获取Android性能数据

    环境: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手机里面的可执行文件

  • 相关阅读:
    常见的块级元素和行级元素
    CentOS 利用 yum 安装卸载软件常用命令
    MySQL 派生表(Derived Table) Merge Optimization
    MySQL中的两种临时表
    集中化管理平台 — Ansible 详解
    MySQL 错误码对照
    mysqldump 工具使用详解——参数选项
    git 命令参考手册
    XtraBackup 备份与恢复实例讲解
    XtraBackup 原理与安装
  • 原文地址:https://www.cnblogs.com/sushi/p/7682996.html
Copyright © 2011-2022 走看看