1、ADB(Android Debug Bridge)
1.1 概念
ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。
1.2 功能
- 在Android设备上运行Shell(命令行);
- 管理模拟器或设备的端口映射;
- 在计算机和设备之间上传/下载文件;
- 将电脑上的本地APK软件安装至Android模拟器或设备上。
1.3 ADB环境搭建
- 下载adb工具(安装SDK的用户可以在SDK目录下找到);
- 配置环境变量,将adb的路径放在Path环境变量下;
- 验证,cmd输入adb version显示如下即成功:
1.4 常用命令(Windows)
- 查看adb版本
adb version
- 查看当前连接设备
adb devices
- 操作多个设备
adb -s 设备号 其他指令
- 查看顶部Activity
adb shell dumpsys activity | findstr "mFocusedActivity"
- 查看日志
adb logcat
- 安装apk文件
adb install xxx.apk
(若已存在则无法安装) - 覆盖安装apk文件
adb install -r xxx.apk
- 卸载App
adb uninstall xxx
(不保留数据) - 卸载App保留数据
adb uninstall -k xxx
- 往手机传递文件
adb push 文件名 路径
- 从手机下载文件
adb pull 文件路径
- 查看手机端安装的所有app包名
adb shell pm list packages
- 启动Activity
adb shell am start 包名/完整Activity路径
- 发送广播
adb shell am broadcast -a "broadcastactionfilter"
- 屏幕截图
adb shell screencap /sdcard/screen.png
- 录制视频
adb shell screenrecord /sdcard/demo.mp4
2、PerfDog使用
2.1 PerfDog相关参数
FPS (每秒传输帧数(Frames Per Second))
- Avg(FPS)平均帧率
- Var(FPS)帧率方差
- Drop(FPS)[/h]降帧次数:平均每小时相邻两个FPS点下降大于8帧的次数
- Jank(/10min)平均每10分钟卡顿次数
- BigJank(/10min)平均每10分钟严重卡帧次数
- Stutter(卡顿率)
- InterFrame帧间
- Frame Time两帧画面间隔耗时
CPU(中央处理器(central processing unit))
- CPU Usage传统CPU利用率:CPU Usage = CPU执行时间/CPU总时间
- CPU Usage(Normalized)规范化CPU利用率:(CPU执行时间/CPU总时间) * (当前时刻所有CPU频率之和/所有CPU频率最大值之和)
- AppCPU(当前App占用CPU)
- TotalCPU(总体CPU使用情况)
- CPU Temperature(CPU温度)
Memory(内存)
- Swap Memory(部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低)
- Virtual Memory(虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换 )
GPU(图形处理器(graphics processing unit))
- GPU Usage(GPU使用率)
- GPU Frequency(GPU频率)
- Non Fragment Utilization非片段处理耗时占整体GPU处理耗时百分比
- Fragment Utilization片段处理耗时占整体GPU处理耗时百分比
Network
- Recv目标进程接收流量速率
- Send目标进程发送流量速率
2.2 PerfDog连接手机
- Android平台:开启Debug调试模式
- IOS平台:需要信任电脑(使用iTunes辅助检测)