首页 > 其他分享 >Android 11.0 通过系统属性适配多种分辨率开机动画功能实现

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

时间:2024-08-20 16:54:46浏览次数:12  
标签:动画 适配 11.0 系统 开机 Android bootanimation 属性

1.前言
 

在11.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中添加具体的系统属性值

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

标签:动画,适配,11.0,系统,开机,Android,bootanimation,属性
From: https://blog.csdn.net/baidu_41666295/article/details/141300453

相关文章

  • Android CDD(兼容性定义文档)
    1.什么是AndroidCDDAndroid兼容性定义文档(CDD)列举了设备需要满足哪些要求才能与最新的Android版本兼容。也就是说每当Android新版本更新时,我们需要检查Android最新的CDD,保证我们的系统满足AndroidCDD的要求。设备实现必须满足此兼容性定义文档(包括以参考资料的形式纳入......
  • Android逆向题解-攻防世界-Ph0en1x-100
    jeb反编译apk主要代码是if那个判断,getFlag取字符串用getSecret加密,和输入字符串encrypt加密后再getSecret加密,进行比较,两边同样都是getSecret加密,那比较可以简化成this.getFlag()==this.encrypt(s)。也就是输入字符经过encrypt加密后等于getFlag的字符串即可。protec......
  • Android about event log
    EventLogTags.logtags,它是个日志工具,很多模块有该文件.eventlog在framework层常常使用,通过类似EventLog.writeEvent()写log,这种log被保存在/system/etc/event-log-tags../frameworks/base/services/core/java/com/android/server/wm/EventLogTags.logtagswm_set_resumed_......
  • Android 10.0 Launcher3从首页开始安装app功能实现
    1.前言 在10.0的系统rom定制化开发中,在进行Launcher3的某些功能开发实现过程中,在某些项目中,安装的app比较多,要求在launcher3的首页开始安装app应用,接下来就需要分析下app安装图标排序的流程,然后在实现相关的功能2.Launcher3从首页开始安装app功能实现的核心类packages/a......
  • Android UsbDeviceManager 代码分析
    USBDeviceManager是一个Android系统中用于管理USB设备的类,它是系统服务之一。其主要功能是控制USB设备的连接和断开,以及管理USB设备的权限和状态。下面是对USBDeviceManager代码的简要分析:USBDeviceManager的构造函数:在USBDeviceManager的构造函数中,它会调用系统服务框架的regis......
  • Android libusb
    一、环境:配置NDK环境1、下载libusb源码:https://github.com/libusb/libusb/releases,如下图所示2、删除一些和Android平台无关的文件,删除后的文件如下图所示:思考问题:Android是怎么获取usb设备?如上图所示:连接adbshell,然后cd到/sys/bus/usb/devices/目录,命令ll可以看到里......
  • Android开发 - DisplayMetrics 类控制布局图形的缩放显示解析
    DisplayMetrics是什么DisplayMetrics类在Android中用于获取设备的显示属性(像素等)DisplayMetrics的主要属性metrics.density:屏幕密度,用于决定屏幕上每英寸的像素数DisplayMetricsmetrics=newDisplayMetrics();density=metrics.density;常见值:0.75(低密度)、1.0......
  • 手机使用技巧:如何恢复Android手机不见的短信
     在您的Android手机上丢失短信可能是一种令人沮丧的经历,尤其是在文本包含重要信息的情况下。幸运的是,有一些方法可以在Android上恢复已删除的短信。在这篇博文中,我们将讨论几种在Android手机上恢复已删除短信的方法。为什么需要恢复Android手机不见的短信您可能想要在And......
  • Android开发 - HorizontalScrollView 类水平滚动超长视图使用解析
    基本概念HorizontalScrollView是一个容器,它允许包含的内容在水平方向上滚动。如果你有一块内容(比如一张宽大的图片或一个长长的水平列表),HorizontalScrollView能让用户通过左右滑动来查看超出屏幕的部分基本使用在布局文件(如activity_main.xml)中定义一个HorizontalScrol......
  • 秒开WebView?Android性能优化全攻略
    在如今的移动应用时代,用户体验的好坏直接关系到应用的成功与否。而在众多的用户体验因素中,应用的加载速度尤其重要。特别是对于使用 WebView 加载网页的应用,如果加载速度过慢,用户往往会产生不满,从而流失。因此,实现“秒开”WebView成为了开发者必须面对的一项挑战。本文将深......