热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

获取Android手机app启动时间

经过一天的摸索,终于找到怎么处理了,对于一个自动化技术不高的小白来说,还是挺有成就感的,哈哈1.手机链接电脑时遇到的问题,设备一直显示不出来,运行命令adbdevices,只显示:

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

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来统计,因为新起肯定是热启动的,启动时间不准
使用adb获取当前正在运行的Activity

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

adb shell dumpsys activity activities | findstr "Run"

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

 

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

 

转:https://www.cnblogs.com/zzllovehappy/p/11130489.html


推荐阅读
author-avatar
俞承豪那个男人-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有