启动时间:
即APP Launch时间的计算
主要有一下几种测试方式:
1. 基于Log提取获取
从Android 4.4版本开始,可以从Logcat日志中获取启动信息
以爱奇艺为例
W/ContextImpl(25585): Failed to ensure directory: /storage/sdcard1/Android/data/com.qiyi.video/cache
I/ActivityManager( 899): Displayed com.qiyi.video/org.qiyi.android.video.MainActivity: +633ms
D/IQiyiBaseCore(25585): Subtag_SharedPreferences: Config Helper: default_sharePreference
2. 基于控件查找计算启动时间
即认为APP主Activity中某控件的出现时间即为APP启动结束的时间
控件可通过UiAutomator实时循环Check该控件,已确定该控件出现的时间。
3. 基于当前Activity查询
UiAutomator中UiDevice类提供了获取当前activity的方法。
所以也可以通过循环查询的方式来计算APP启动的结束时间。
注: 该方法还可应用于安卓插件化开发中,插件的启动时间计算。(已过时)
4. 基于视频暴力解帧来计算
即把APP启动过程中手机界面的变化,录制成视频。
通过解帧的方式计算APP启动的时间。
5. 通过shell命令获取APP启动时间
以爱奇艺为例
Shell Command:
adb shell am start -W -n com.qiyi.video/org.qiyi.android.video.MainActivity
Result:
Starting: Intent { cmp=com.qiyi.video/org.qiyi.android.video.MainActivity }
Status: ok
Activity: com.qiyi.video/org.qiyi.android.video.MainActivity
ThisTime: 986
TotalTime: 986
WaitTime: 998
Complete