1 源码位置: frameworks/base/cmds/bootanimation/ 。
2 启动文件 : bootanimation_main.cpp 。
3 编译之后是一个可执行文件。位于 out/target/product/Tinker_Board_2/system/bin/bootanimation
4 如何禁用开机动画:
属性值 :debug.sf.nobootanimation = 0 并且 ro.boot.quiescent = 0
5 需要等待服务SurfaceFlinger注册成功之后才调用run方法。
6 bootanimation 通过 SurfaceComposerClient::linkToComposerDeath 来得到 SurfaceFlinger的死亡通知,一旦SurfaceFlinger死亡,它自己也立即退出运行。
7 动画是通过拿到一个surface,然后使用OpenGLES在上面绘制实现的。
欢迎评论交流。
Android11开机动画分析
于 2023-01-12 13:45:23 首次发布
文章详细介绍了Android系统中启动动画的源码位置在frameworks/base/cmds/bootanimation,主要执行文件为bootanimation_main.cpp。编译后,它成为一个位于系统/bin目录下的可执行文件。禁用开机动画需设置属性debug.sf.nobootanimation=0和ro.boot.quiescent=0。bootanimation通过与SurfaceFlinger服务的链接来确保其在SurfaceFlinger启动后运行,并监听SurfaceFlinger的死亡信号以自我退出。
1584

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



