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 首次发布