Connect 夜神模拟器for Android 4.4.2

打开模拟器-在CMD输入如下连接测试设备

adb connect 127.0.0.1:62001

你也可以连接自己的手机设备

开发者选项-启动USB调试,即可使用ADB,ADB需要环境搭建,百度教程吧

///////////////////////////////////////////手机性能测试///////////////////////////////////////////

1.启动时间:

查看系统app pkg name and activity name

adb shell "logcat | grep START"

start app启动App,W要大写,下面使用微信app做示范:

adb shell am start -W -n package/activity

adb shell am start -W -n com.tencent.mm/.app.WeChatSplashActivity

stop app停止App

adb shell am force-stop package

adb shell am force-stop com.tencent.mm

click back key to exit 到后台-冷退出

adb shell input keyevent 3

2. CPU

检查CPU用量

adb shell "dumpsys cpuinfo | grep com.tencent.mm"

3.流量监控

获取进程ID指令

adb shell ps | grep packageName

adb shell "ps | grep com.tencent.mm"

这个微信进程ID是 : 984

4.获取进程ID流量

检查接收+发送流量

( RECEIVE=接收,TRANSMIT=发送 ; eth0+eth1表各自的网卡,这表示有2个网卡)

adb shell cat /proc/pid/net/dev

adb shell cat /proc/984/net/dev

5.电量监控

可以看到电池信息状态level是当前电量;scale表示电池满量是100

adb shell dumpsys battery

切换非充电状态 (充电状态是2,也就是说非2是非充电状态)

adb shell dumpsys battery set status 1

6.内存测试

获取手机上apps的内存信息

adb shell top

主要检查list这2项:VSS+RSS

VSS (Virtual Set Size) : 虚拟耗用内存

RSS (Resident Set Size) : 实际使用物理内存

获取所有的apps内存用量然后以每秒一次的方式存一次

-d表示刷新频率 ;1表示1秒存一个到信息列表,请到当前CMD目录查看该文件meminfo

adb shell top -d 1 > meminfo

7.FPS&过度渲染

FPS=frames per second=每秒的帧数

过渡渲染:描述的是屏幕上的某个像素在同一帧的时间内被描绘了多少次

开发者选项-GPU呈现模式分析-在屏幕上显示为条形图

屏幕下方绿线表示基准线-超过绿色表示流畅度出现问题;在绿线以下表示比较正常;

勾选GPU过度绘制√

app边框和UI能明显看到颜色变化-

颜色越深-当前功能的页面层数越多

功能不在当前页面,是在其他页面的,如滑动后才显示的,颜色深表示这个界面过度绘制了;

////////////////////////////////////////////////////////////////////////////////////////////////////

ADB Shell之手机性能测试的更多相关文章

  1. 使用adb shell 进入手机修改文件的权限

    1.将android的tools目录加入到path中,或者直接在adb.exe路径下启动cmd窗口2.adb shell 进入手机后,发现是 $ ,不是 # 号3.在进入shell后运行 su ,就可 ...

  2. adb & adb shell 相关命令

    在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...

  3. Linux的各种命令(android adb shell)

    win+r 调出运行,输入CMD adb shell 进入手机的控制终端,相当于原生的Linux系统的各种操作. 当提示符为$符号,说明未获得超级管理员权限,输入su,可编程# adb kill-se ...

  4. 如何用Adb连接Android手机 & unable to connect to 192.168.1.100:5555的原因和解决方法

    利用adb来连接手机, 有两种方式: 1, wifi 2, usb. 1. 通过wifi, 利用adb来连接手机. 在pc的cmd中输入命令: adb connect 192.168.1.100 其中 ...

  5. Android:adb shell 命令详解

    安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令. 进入“/system/bin”该 ...

  6. 【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中

    http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切 ...

  7. 【安卓手机通用】android adb shell 命令大全

    浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...

  8. win7 cmd终端连接android手机运行adb shell脚本命令

    win7 cmd终端连接android手机运行adb shell脚本命令 (2013-03-22 20:13:57) 转载▼ 标签: android it shell 连接 linux 分类: 嵌入式 ...

  9. 获取手机安装的所有包名adb shell pm list packages

    获取所有已安装包的包名:adb shell pm list packages 查找:adb shell pm list packages|findstr suning

随机推荐

  1. [linux] C语言Linux系统编程-socket开发响应HTTP协议

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h&g ...

  2. 手把手教你用Vue造轮子(3):开发可排序的表格组件

    前言 最近闰土大叔跟Vue干上了,没办法,公司业务驱动,不用Vue没招啊,leader尝到了前后端分离带来的好处,除非你离职,哈哈哈,当然,那是不可能的,对于我这种要攒钱买房子的人来说.那还说什么呢, ...

  3. 运用C语言将图片转换成16进制的字符串(base64)

    最近在写手机端的性能测试脚本的时候,发现手机在上传图片数据时,先将图片转换成一堆16进制的字符,将字符传输过去,服务器再将字符解码成图片 我们在loadrunner中测试时,就需要用C语言将图片编码. ...

  4. DOCKER 开发学习记录

    DOCKER常用命令及参数 DOCKER镜像管理命令: 检索:docker search image_name 下载:docker pull image_namge 查看本地镜像:docker ima ...

  5. zoj 3494:BCD Code

    Description Binary-coded decimal (BCD) is an encoding for decimal numbers in which each digit is rep ...

  6. HDU1465-装错信封-递推

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  7. Digit Generator(水)

    题目链接:http://acm.tju.edu.cn/toj/showp2502.html2502.   Digit Generator Time Limit: 1.0 Seconds   Memor ...

  8. Kafka监控安装

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  9. UEP-查询方式总结

    public void retrieve() { QueryParamList params = getQueryParam("dataWrap"); //获取页面上的参数,即查询 ...

  10. Kubernetes volumes简介

    容器中的磁盘文件生命周期比较短暂,在一些比较复杂的容器应用中会产生一些问题.一.容器crash后,kubelet会重启该容器,但这些文件会丢失掉.二.pod中的多个容器经常需要共享文件.因此,Kube ...