Android 10.0 通过系统属性适配多种分辨率开机动画功能实现

1.前言
 

在10.0的系统ROM定制化开发中,在关于开机动画这部分由于产品需要适配多种分辨率,所以就需要在出rom固件的时候,就需要
根据系统属性来适配显示哪种分辨率开机动画,所以接下来就来看怎么设置系统属性,然后在开机动画阶段怎么实现
这个功能

2. 通过系统属性适配多种分辨率开机动画功能实现的核心类

frameworks/base/cmds/bootanimation/BootAnimation.cpp
build\make\tools\buildinfo.sh

3. 通过系统属性适配多种分辨率开机动画功能实现的核心功能分析和实现

在系统中开机动画的启动流程如下:
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进程,
init进程会根据init.rc配置启动surfaceflinger进程,接下来就可以具体启动开机动画了整个
流程大致如此的

3.1 buildinfo.sh中添加具体的系统属性值

在系统中所有的系统属性都是在buildinfo.sh中,然后在系统编译的过程中,会把这些系统属性编译到
out下的build.prop

  • 18
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值