当前位置:   article > 正文

adb命令查看app相关性能指标_adb 单独只看一个固定包的性能消耗情况

adb 单独只看一个固定包的性能消耗情况

APP启动相关

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

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

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

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

adb查看启动时间

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

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

在这里插入图片描述
如果你的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"
  • 1

在这里插入图片描述

adb杀死进程

adb shell am force-stop packagename
  • 1

置于后台

adb shell input keyevent 3
  • 1

CPU

adb 查看cpu 信息

adb shell "dumpsys cpuinfo | grep packagename"
  • 1

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

查看的应用进程的pid

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

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

在这里插入图片描述
在这里插入图片描述
receive是指当前进程接收的数据,transmit是指当前进程发出请求的数据,流量是这两者之和

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/300947
推荐阅读
相关标签
  

闽ICP备14008679号