Android 开机动画(bootanimation)启动
前言
开机动画应该算是我接触的第一个AOSP的Native程序,网上讲解开机动画的博客很多,都说的又详细又好,但是很少说到开机动画到底是什么进程启动的,我从来也没关注过,一直认为是init进程启动的开机动画
一、简单的对话
今天被问了一个很简单的问题,开机动画是谁启动的。大体对话如下:
程序员小Q:开机动画是谁启动的?
我:init根据bootanimation.rc里面配置的service name在开机的时候启动了开机动画。
程序员小Q:那就是说开机动画是init进程启动的咯?
我:那必须的啊。不然是谁啊?
程序员小Q:那init在哪里启动的啊?
我:等下,我找给你。
然后就开始了找代码之旅~~~
二、过程
曾经在古老的安卓2.x还是4.x的时候我看过init的代码,印象里面隐隐约约的记得有个叫做service_start的函数,然后就开始在system/core/init下面搜索,怎么也搜不到类似的代码。没办法了,只能再看看rc文件里面怎么写的。先看frameworks/base/cmds/bootanimation/bootanim.rc文件如何配置