android获取app启动前的app,获取Android手机app启动时间

经过一天的摸索,终于找到怎么处理了,对于一个自动化技术不高的小白来说,还是挺有成就感的,哈哈

1. 手机链接电脑时遇到的问题,设备一直显示不出来,运行命令adb devices,只显示:List of devices attached,后来换了数据线可以显示了。

2. 有些手机一直显示:xxxxx unauthorized, 后来重启电脑解决问题。

1,2两种情况遇到的几率比较大,注意一下就好。

获取device的包名和Activity名:

aapt dump badging app.apk(备注:直接把电脑上存在的app拖到这里即可)

获取app的启动时间:

adb shell am start -S -R 5 -W 包名/完整的Activity名

这个命令的输出日志如下:

Stopping: 包名

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=包名/完整的Activity名 }

Status: ok

Activity: 包名/完整的Activity名

ThisTime: 2808

TotalTime: 2808

WaitTime: 2832

几个时间参数的讲解:

WaitTime 返回从 startActivity 到应用第一帧完全显示这段时间. 就是总的耗时,包括前一个应用 Activity pause 的时间和新应用启动的时间;

ThisTime 表示一连串启动 Activity 的最后一个 Activity 的启动耗时;

TotalTime 表示新应用启动的耗时,包括新进程的启动和 Activity 的启动,但不包括前一个应用Activity pause的耗时。

所以只关心 TotalTime 参数就可以了。但是问题来了:

首先这个是shell命令,能不能通过 Runtime 来进行调用这个命令我没试过,极有可能是不行的

这个命令需要新起一个Activity来统计,在已运行应用中肯定不可能新起Activity来统计,因为新起肯定是热启动的,启动时间不准

使用dumpsys命令可以查看Android手机当前正在运行的Activity

adb shell dumpsys activity activities | findstr "Run"

如果结果不是想要找的Activity,可以去掉findstr过滤条件,这样会输出大量的信息,可以在结果中查找

备注: 查看Android应用包名、Activity的几个方法:http://www.sohu.com/a/294671907_216613

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值