影响APP启动时间的因素有哪些?
前端
一、手机内存状况,以及APP内存消耗状况。android
二、手机网络状况,以及启动过程当中有请求后台接口的,是否有阻塞启动线程的接口。shell
三、APP的启动方式影响。 服务器
第一种方式,APP在后台运行,启动激活到前端显示。
微信
第二种方式,APP没有在后台运行,彻底从新启动。网络
命令:adb shell am start -W packName/ActivityName (启动页的Activity),主要的是-W这个选项。
app
(注:能够经过adb shell dumpsys activity | grep -i run 查看应用包名和启动Activity)测试
实例:ui
adb shell am start -W com.xxwl.superclean/.ui.SplishActivityspa
返回字段:
C:\Users\herry>adb shell am start -W com.xxwl.superclean/.ui.SplishActivityStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxwl.superclean/.ui.SplishActivity }Warning: Activity not started, its current task has been brought to the frontStatus: okActivity: com.xxwl.superclean/.ui.MainActivityThisTime: 67TotalTime: 67WaitTime: 75Complete
ThisTime: 该Activity的启动耗时;
TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间。
应用application等资源启动时间:主要是网络耗时,服务器资源请求等
系统资源启动时间:手机当时的运行情况和APP所须要的资源相关(好比,占用内存状况、读写日志等。)
注意:应用从后台启动和从新启动的时间是不同的,若是你要测试从新启动的时间,须要将后台进程杀掉,在调用命令。
这里提供两种方式结束进程:
一、adb shell am force-stop com.xxwl.superclean
-----force-stop:结束应用,但不清楚数据,可模拟屡次启动的状况
二、adb shell pm clear com.xxwl.superclean
---pm clear:结束应用,并清除数据,可用于模拟应用第一次启动的
本文分享自微信公众号 - 软件测试道与术(UTesting)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。