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

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的启动)

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值