Android开机启动之Bootanimation
前言
手机或其他Android智能终端开机都会先显示一个动画,然后才进入桌面,接下来看看这个bootanimation程序是怎么跑的
一、bootanimation框图

从上面的启动框图中可以看出:
- bootanimation也是init进程启动的,在init.rc中启动bootanim进程
- 启动bootanimation是依赖android系统中的surface管理
- 需要surfacefinger初始化完成了,才会启动bootanimation进程
- bootanimation是要等待android ui即将显示的时候才会退出
- WSM会setprop“service.bootanim.exit” = 1来通知动画结束
- bootanimation.cpp中轮询检查属性service.bootanim.exit,根据这个属性值退出动画
二、代码时序
- 系统内核起来后会启动第一个进程,即init进程。
本文详细解析了Android系统启动过程中Bootanimation的工作原理,包括启动框图和代码时序。bootanimation由init进程启动,依赖surface管理,等待UI即将显示时退出。文章通过源码分析,介绍了SurfaceFlinger如何启动bootanimation服务,以及BootAnimation类的执行流程,为理解Android开机动画的播放提供了清晰的线索。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



