APP测试 - 启动时间与安装卸载

0. 前言

什么是应用启动的时间?

在上面这个启动流程中,任何一个地方有耗时操作都会拖慢我们应用的启动速度,而应用启动时间是用毫秒度量的,对于毫秒级别的快慢度量我们还是需要去精确的测量到到底应用启动花了多少时间,而根据这个时间来做衡量。什么才是应用的启动时间

从点击应用的启动图标开始创建出一个新的进程直到我们看到了界面的第一帧,这段时间就是应用的启动时间。

我们要测量的也就是这段时间,测量这段时间可以通过adb shell命令的方式进行测量,这种方法测量的最为精确,命令在下面的原理里面。

 

1.区别

app冷启动: 当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这个启动方式就叫做冷启动(后台不存在该应用进程)。

app热启动: 当应用已经被打开, 但是被按下返回键、Home键等按键时回到桌面或者是其他程序的时候,再重新打开该app时, 这个方式叫做热启动(后台已经存在该应用进程)。

app首次启动: 首次启动应用时会有很多的数据或配置文件的初始化工作,因此其启动时间远远大于冷启动的启动时间,这样的话app的启动时间也就变成了从3个指标去衡量了

 

adb shell am start -W [packageName]/[packageName.MainActivity]

执行成功后将返回三个测量到的时间:

ThisTime:一般和TotalTime时间一样,除非在应用启动时开了一个透明的Activity预先处理一些事再显示出主Activity,这样将比TotalTime小。

TotalTime:应用的启动时间,包括创建进程+Application初始化+Activity初始化到界面显示。

WaitTime:一般比TotalTime大点,包括系统影响的耗时。

脚本取得是TotalTime

 

2. 实操

获取包名的方法:

adb logcat | findstr START

 

 

启动app:

adb shell am start -W -n com.yxy91.creativecat.beta/com.doutuimao.micro_script.MainActivity

 

关闭app:

adb shell am force-stop com.yxy91.creativecat.beta

 

安装app:

adb install 路径\xxx.apk

覆盖安装:

adb install -r 路径\XXX.apk

 

卸载app:

adb uninstall com.yxy91.creativecat.beta

 

posted @   小林同学_Scorpio  阅读(135)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
1
点击右上角即可分享
微信分享提示