开机动画流程

1、开机动画程序bootanimation
程序目录:frameworks/base/cmds/bootanimation
主要文件:frameworks/base/cmds/bootanimation/BootAnimation.cpp
调用位置: 在init.rc中调用bootanimation

2、bootanimation流程
2.1 显示方式
判断是否存在"/data/local/bootanimation.zip"或"/system/media/bootanimation.zip",
若存在的话,则显示bootanimation.zip中的动画;
若不存在的话,则显示系统默认的android闪动画面。
具体的代码(在BootAnimation.cpp中):
--> readyToRun()中判断bootanimation.zip是否存在
    --> threadLoop()中根据mAndroidAnimation的值,来区分不同的显示方式
        --> 若mAndroidAnimation为true,则显示默认的动画,调用android()
              若mAndroidAnimation为false,则显示bootanimation.zip中的动画,调用movie()

Android 开机动画的加载流程如下: 1. 开机自检:开机后,首先进行硬件自检。如果自检通过,将会启动 bootloader。 2. Bootloader:Bootloader 负责初始化硬件设备,加载 kernel,并且将 kernel 加载到内存中。 3. Kernel:Kernel 是 Android 操作系统的核心,负责初始化硬件设备,启动驱动程序,加载文件系统等。 4. Init 进程:Init 进程是 Android 系统中的第一个用户进程,它负责启动系统中所有的服务,并且加载所有的配置文件和属性。 5. SurfaceFlinger:SurfaceFlinger 是 Android 系统中用于显示图形的核心服务,它在启动后会创建一个显示屏幕,显示屏幕上的内容就是从应用程序中传递过来的。 6. Zygote 进程:Zygote 进程是 Android 系统中的一个特殊进程,它负责预加载常用的类和资源,以提高应用程序的启动速度。当应用程序需要启动时,Zygote 进程会 fork 出一个新的进程,该进程会继承 Zygote 进程的状态,从而加速应用程序的启动。 7. 开机动画:在上述进程启动后,系统会加载开机动画开机动画通常是一个视频或者一组图片,这些图片或视频会被 SurfaceFlinger 显示在屏幕上。 8. 启动屏幕:当开机动画结束后,系统会显示一个启动屏幕,表示 Android 系统已经启动完毕。此时,用户就可以开始使用 Android 设备了。 总的来说,Android 开机动画加载流程比较复杂,其中涉及到多个进程和服务,需要相互配合才能完成整个过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值