adb命令查看app相关性能指标

adb命令知识学习

  • APP启动相关
    • adb查看启动时间
    • adb查看应用包名和活动名
    • adb杀死进程
    • 置于后台
  • CPU
    • adb 查看cpu 信息
    • 查看的应用进程的pid
    • 使用命令去获取该进程的流量

APP启动相关

APP启动大概分为冷启动和热启动
冷启动 没有相关APP进程,APP首次启动,或者进程被杀死后再次启动。
热启动 已经有相关APP进程,在用户按back或者home键回到桌面,再次启动app

这里我们优化主要是针对耗时较长的冷启动,首先来看几个官方指标

  • 冷启动时间超过5s
  • 热启动时间超过1.5s

超过以上时间被认为是需要对app启动进行优化

adb查看启动时间

adb shell am start -W -n [packagename]/[packagename.SplashActivity]

ThisTime:最后一个启动的Activity的启动耗时
TotalTime:自己的所有Activity的启动耗时
WaitTime: ActivityManagerService启动App的Activity时的总时间(包括当前Activity的onPause()和自己Activity的启动)

adb命令查看app相关性能指标_第1张图片
如果你的APP启动时间过长,请优化>>>>>https://www.jianshu.com/p/f5514b1a826c
例如
adb shell am start -W -n com.aaa.bbb/com.main.ui.activity.WelcomeActivity
这里需要注意的是 前后两个 packagename 可能不一样,前者是你的编译环境对应的packagename,后者是你启动Activity的绝对路径。
如果你的APP 在build.gradle中配置了开发,测试,预装环境那么很可能是这样,因为三个环境的包名是不一样的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为我当时是在debug环境所以前面的package是com.aaa.bbb
注意 applicationIdSuffix是拼接manifest的package 值为包名的。
有人可能觉得太麻烦,更简单的方法

adb查看应用包名和活动名

adb shell "logcat | grep START"

在这里插入图片描述

adb杀死进程

adb shell am force-stop packagename

置于后台

adb shell input keyevent 3

CPU

adb 查看cpu 信息

adb shell "dumpsys cpuinfo | grep packagename"

在这里插入图片描述
数据表示:这个应用cpu占用率为4.9%,这个过程是在用户(user)中花3.8%的时间,并在内核空间(kernel)花费1.1%的时间

查看的应用进程的pid

在这里插入图片描述
在这里插入图片描述

使用命令去获取该进程的流量

在这里插入图片描述
adb命令查看app相关性能指标_第2张图片
receive是指当前进程接收的数据,transmit是指当前进程发出请求的数据,流量是这两者之和

你可能感兴趣的:(Android,adb,启动时间,cpu,流量)