系统启动流程图:上电
运行Bios |
运行BootLoader |
启动Kernel |
启动init进程(zegote,systemserver,Surfaceflinger,Animationboot) |
启动systemserver进程(ams,wms,pms) |
ams.onSystemReady之后启动App、SystemUI、Launcher |
启动App有分2步,一步是在SystemUI、Launcher进程之前启动可访问加密用户数据常驻进程startpersistent(bootaware),一步是在SystemUI、Launcher进程之后,startpersistent(bootunaware) |
启动Animation开机动画,Launcher进程启动结束时结束Android开机动画 |
展示出Launcher |
优化思路:
- 裁剪掉无用的服务,app(BatteryService,Message,Phone,Android开机动画)
- 调整app启动优先级(cpu全部让给开机必须进程先启动,等待桌面打开之后再启动不必要的进程,比如升级fota进程或多媒体放在后面启动)