启动优化介绍
(1)背景介绍
为什么要进行启动优化?第一体验和八秒定律,用户接触app首先就是第一体验比较重要,其次,app如果打开时间超过8s,大概会流失70%的用户。
(2)启动分类:冷启动、热启动、温启动
冷启动:
特点:耗时最多,衡量标准,
流程:ClickEvent—>IPC–>Process.start—>ActivityThread—>bindApplication---->ActivityLifeCycle—>ViewRootImpl
热启动:
特点:最快
流程:后台---- >前台
温启动:
特点:较快
流程:只会走Activity的生命周期
(3)相关任务
启动App–>加载空白window—>创建进程—>创建Application—>启动主线程—>创建MainActivity(加载布局、布置屏幕、首帧绘制)
(4)优化方向:Application 和Activity 生命周期
启动时间测量
启动时间测量2种方式:
(1)adb命令:adb shell am start -w packagename/首屏Activity(com.example.df.SplashActivity)
运行命令后会打印3个time,分别是:ThisTime
、TotalTime
、