冷启动及系统层优化
1.测量应用冷启动时间
1.1冷启动概念:
在后台杀死APP进程,重新打开APP
APP从零开始,APP启动之前,系统没有为此 APP创建独立进程。比如:设备启动后,APP第一次Launch或者APP被Kill掉后的重启。这种类型的启动优化存在很大挑战,因为Android系统或应用还有其他更多的后台进程在运行。
启动流程大致如下:
点击Launcher 上的 icon开加载app -->立即显示白屏或黑屏等 --> Application onCreate --> Activity Init----> Activity onCreate —> 初始化数据,填充显示View —> Activity onResume等
1.2通过AM命令测量应用冷启动时间
在串口中输入:
am start -S -R 2 -W (应用activity页面 如youtube的com.google.android.youtube.tv/com.google.android.apps.youtube.tv.activity.ShellActivity)
Adb命令:
adb shell am start -S -R 2 -W (应用activity页面
-S 表示每次启动前先强行停止
-R 表示重复测试次数
-W 表示等待app启动完成
串口终端运行结果如下:
这里主要统计了3个时间:ThisTime 、TotalTime 、 WaitTime.
ThisTime:一连串启动Activity的最后一个Activity开始算起始时间
TotalTime:一连串启动Activity的第一个Activity开始算起始时间
WaitTime:总的耗时,但是包括前一个应用 Activity pause 的时间和新应用启动的时间
说明:例如有的应用