执行命令
adb logcat -d -b events | grep boot
I/boot_progress_start( 71): 2000
I/boot_progress_preload_start( 71): 2133
I/boot_progress_preload_end( 71): 2730
I/boot_progress_system_run( 263): 2773
I/boot_progress_pms_start( 263): 2878
I/boot_progress_pms_system_scan_start( 263): 2898
I/boot_progress_pms_data_scan_start( 263): 3090
I/boot_progress_pms_scan_end( 263): 3092
I/boot_progress_pms_ready( 263): 3105
I/boot_progress_ams_ready( 263): 3682
I/boot_progress_enable_screen( 263): 5344
具体含义注释
boot_progress_start 系统进入用户空间,标志着kernel启动完成
boot_progress_preload_start Zygote启动
boot_progress_preload_end Zygote结束
boot_progress_system_run SystemServer ready,开始启动Android系统服务,如PMS,APMS等
boot_progress_pms_start PMS开始扫描安装的应用
boot_progress_pms_system_scan_start PMS先行扫描/system目录下的安装包
boot_progress_pms_data_scan_start PMS扫描/data目录下的安装包
boot_progress_pms_scan_end PMS扫描结束
boot_progress_pms_ready PMS就绪
boot_progress_ams_ready AMS就绪
boot_progress_enable_screen AMS启动完成后开始激活屏幕,从此以后屏幕才能响应用户的触摸,它WindowManagerService发出退出开机动画的时间节点之前,而真正退出开机动画还会花费少许时间,具体依赖animation zip 包中的desc.txt。wm_boot_animation_done才是用户感知到的动画结束时间节点
sf_stop_bootanim SF设置service.bootanim.exit属性值为1,标志系统要结束开机动画了,可以用来跟踪开机动画结尾部分消耗的时间
wm_boot_animation_done 开机动画结束,这一步用户能直观感受到开机结束