众所周知APP启动时间是用户对一款APP的第一印象,如果某一款APP启动时间要耗费8秒之久,那么,用户对研发成员的能力就会产生质疑,也会否定开发者辛辛苦苦熬夜赶出来的成果,这也是我们不想看到的,但是产生了性能问题我们就要勇敢的去面对,怎样检测APP启动时间呢?怎样能实时检测启动中发生的性能问题呢?就这篇文章来浅谈相关知识!
一、冷启动的相关知识
启动分为冷启动和热启动,一般的优化都是针对冷启动来进行,本文主要分析冷启动。
冷启动是Android性能测试中的重要指标,即应用从进程未创建到完全启动的时间,一般要求时长<1.5s,过长需要考虑优化。
比如:设备启动后,APP第一次Launch或者APP被Kill掉后的重启。这种类型的启动优化存在很大挑战,因为Android系统或应用还有其他更多的后台进程在运行。
启动流程大致如下:
点击Launcher 上的 icon开加载app -->立即显示白屏或黑屏等 --> Application onCreate --> Activity Init----> Activity onCreate ---> 初始化数据,填充显示View ---> Activity onResume等。
二、App 启动时间测量与分析
如何获取APP启动时间,请看以下测量方法
1.通过 adb 命令测量APP 冷启动时间
使用adb 命令直接启动APP进而测量APP启动耗时 的方法如下:
adb shell am start -W [packageName]/[packageName.MainActivity]`
或
adb [-d|-e|-s ] shell am start -S -W