一、背景 #
传统测试启动速度的方法是录屏分帧,即手工录制启动过程,然后通过分帧软件将启动过程的每一帧抽取出来,选取启动帧与结束帧,从而计算出差值作为启动速度。显然,这个方法有如下缺点:
1、效率低下。
这种简单暴力的操作显然需要耗费人力与大量时间进行测试、数据收集以及分析。
2、数据不准确。
由于一轮测试需要耗费大量时间,所以测试的次数有限,样本量较少,一次异常的数据就有可能会影响最终的结论。既然是简单粗暴重复的劳动,我们是不是可以考虑使用自动化来实现呢?答案是肯定的,我们采用了另一个更为高效准确的方法——读取系统日志获取启动耗时。
下面就来分享一下“懒人的智慧”。
二、日志信息 #
通过ActivityManager这个TAG,我们可以获取一个Activity的启动耗时。
下面是冷启动(清除数据后启动)的Log信息:
01
下面是热启动(点击返回键后启动)的Log信息:
02
可以看到冷启动有两条耗时的日志,这是因为首次安装启动存在闪屏,所以冷启动过程划分成了【点击图标-进入闪屏】以及【闪屏结束后点击按钮-进入应用首页】两个阶段。
通过Log可知:
(1)冷启动耗时为:636ms + 993ms = 1629msÿ