首页 > 其他分享 >android11 开机动画黑屏优化(总结)

android11 开机动画黑屏优化(总结)

时间:2024-10-10 21:01:37浏览次数:8  
标签:动画 product Launcher android11 开机 黑屏 FallbackHome

一、开机向导引起的短暂黑屏

在系统中默认是有开机向导的,首次开机会首选进入开机向导,然后进入锁屏桌面,如果某些原因引起开机向导卡顿,会造成短暂黑屏。
可以修改如下:
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
true
true

再在产品mk中去掉这两个app:
packages/apps/OneTimeInitializer
packages/apps/Provision
在build的handheld_product.mk中参与编译这两个apk
$(call inherit-product, $(SRC_TARGET_DIR)/product/media_product.mk)

/product packages
PRODUCT_PACKAGES +=
Camera2
DeskClock
LatinIME
Launcher3QuickStep
OneTimeInitializer
Provision
Music
Settings
SettingsIntelligence
StorageManager
SystemUI
WallpaperCropper
frameworks-base-overlays

PRODUCT_PACKAGES_DEBUG +=
frameworks-base-overlays-debug

修改如下:
build\make\target\product\handheld_product.mk
$(call inherit-product, $(SRC_TARGET_DIR)/product/media_product.mk)

/product packages
PRODUCT_PACKAGES +=
Camera2
DeskClock
LatinIME
Launcher3QuickStep \

  • OneTimeInitializer \
  • Provision
    Music
    Settings
    SettingsIntelligence
    StorageManager
    SystemUI
    WallpaperCropper
    frameworks-base-overlays

PRODUCT_PACKAGES_DEBUG +=
frameworks-base-overlays-debug

这样让系统直接启动桌面,不用启动Provision。Provision的作用和SetupWizard、OneTimeInitializer类似,都是设置DEVICE_PROVISIONED和USER_SETUP_COMPLETE.

二、开机动画资源引起的黑屏

    1. 系统首次开机时,由于需要加载相当多的系统数据和服务,首次开机耗时会长一些,如果开机动画过少,在播放完开机动画以后,还没等我AMS执行完停止播放动画的相关通知,就会陷入黑屏状态,等得到AMS停止播放动画以后才会进入桌面。在项目中遇到开机动画只有几张的情况,就会出现首次开机黑屏。我们只需要把开机动画增加到30张左右就可以解决这个问题。
    1. 一些朋友会将bootanimation.zip解压然后更换动画文件,在重新压缩为bootanimation.zip,但实际多了一层嵌套bootanimation\bootanimation导致开机黑屏,一些不合理的desc.txt文件设置也会导致黑屏。
      desc.te参数说明:
      //参数: 宽:480 ;高:480 ;帧率 :1
      480 480 1
      //默认: p;循环次数:1;图像渲染后delay时间:0 文件路径:folder1
      p 1 0 part0
      p 0 0 part1

第二行和第三行,设置顺序播放和无限循环播放
第一个参数p是google default的设计,请保留以p开头。
第二个参数1表示这一行对应folder所需要循环播放的次数,如果是0则表示是无限循环播放,直到系统ready后通过被动退出。
第三个参数0表示这一行对应folder里面的每一帧图片依次解析渲染完成后,要进入下一个循环,动画这个线程需要pause多久。
第四个参数folder1 表示对应设置规则的folder的path。

三、FallbackHome引起的黑屏 开机启动Launcher黑屏

开机以后,设备会有一个“android正在启动”这样的弹框,这个界面是一个叫FallbackHome的Activity来展示的。FallbackHome机制是Android系统启动过程中的一种降级处理机制。当系统启动时,如果默认的Launcher应用无法正常加载或出现错误,系统会自动启用FallbackHome来替代默认Launcher。但一般为了改善产品体验,最终决定移除弹窗页面,直接进入默认的Launcher,避免弹窗对用户界面的干扰。

FallbackHome机制:
1.默认Launcher故障检测:系统会检测默认的Launcher应用是否能够正常加载和运行。如果检测到故障,系统将启动FallbackHome。
2.解锁过程中的弹窗:在系统解锁之前,可能会出现一个"Android正在启动"的弹窗页面,用于指示系统正在加载和准备。这个弹窗页面通常出现在桌面壁纸上,用户需要等待系统完全解锁后才能进入默认的Launcher。
去掉FallbackHome的效果实际上是让FallbackHome的view不显示,然后开机启动动画延长一下,直到系统解锁后再停止开机动画,完成这样较为顺滑的过渡。

方案:

1、跳过FallbackHome
    // Set ourselves totally black before the device is provisioned so that
    // we don't flash the wallpaper before SUW

    mProvisioned = Settings.Global.getInt(getContentResolver(),
            Settings.Global.DEVICE_PROVISIONED, 0) != 0;
    		final int flags;
	++	mProvisioned = true;`
2、设置开机动画最后一帧为背景,变相增加开机动画时间

image

标签:动画,product,Launcher,android11,开机,黑屏,FallbackHome
From: https://www.cnblogs.com/baiyunyouyou/p/18457128

相关文章

  • 《神之亵渎2》游戏启动时闪退未响应弹窗“找不到visa32.dll”文件该怎么修复?神之亵渎2
    《神之亵渎2》以其独特的艺术风格和深度的剧情备受玩家瞩目。但启动游戏时出现闪退未响应且弹窗提示“找不到visa32.dll”文件,实在令人困扰。那么,该如何修复这个问题呢?本篇将为大家带来《神之亵渎2》游戏启动时闪退未响应弹窗“找不到visa32.dll”文件该怎么修复的内容,感兴趣的......
  • 开机启动项在哪里关闭?五个全面指南,教你关闭开机启动项!(新)
    您是否发现您的电脑运行性能正在受一些无关紧要的应用程序所影响呢?也许您没有意识到,每当您登录电脑时,许多程序会在不知情的情况下自动启动。这些自动启动的程序不仅会拖慢系统的运行速度,还会占用大量的内存和cpu资源。为了改善这种情况,您可以通过修改电脑的启动设置,阻止一些不......
  • 使用Systemd创建开机登录前自启动脚本服务并自动登录
    开机登录前自启动脚本服务首先确定你的系统是否使用systemd来管理系统服务,在shell中输入systemctl命令来判断,有输出则为systemd系统。进入/etc/systemd/system目录,创建myservice.service,其中myservice是你要自定义的服务名。编辑myservice.service文件,修改其内容为:[Unit]Desc......
  • 全志用户层修改开机logo
    参考tina系统应用层更新开机logo_tinauboot加载bootlogo-CSDN博客 全志tina系统的开机logo显示方式有两种。分别是:是uboot中读取logo到内存中,然后kernel去显示/common/board_r.c init_sequence_r #ifdefCONFIGREADLOGOFORKERNEL sunxi_read_bootlogo, rb......
  • TCL 配置 AnyLauncher 实现开机即看网络电视 L48A71/L48C71
    声明本教程针对具有一定动手能力的人,请尽量理解自己的每一步操作并谨慎执行。最好在完全看完本教程之后再动手操作。操作不当可能导致系统无法退出播放器页面或无法进入系统桌面,请量力而行。家里的电视是TCLL48A71,2013年9月就上市了,很老的型号。配置有48英寸1080P分辨率的屏幕......
  • [树莓派5][bookworm]自定义开机画面
    声明:此方案仅适用于树莓派5,bookworm版本系统1.打开splashscreen  可以直接在    首选项->树莓派配置->系统   里找到启动画面,然后打开它,保存退出。  或者使用   sudoraspi-config  打开配置,找到 SystemOptions->SplashScreen来打开  2.修改cmdlin......
  • 配置Linux下Oracle19c开机自动启动及验证
    配置oracle19c自动启动的2个关键点1.$ORACLE_HOME  2.安装oracle的用户 以本人数据库为例子$ORACLE_HOME=‘/home/afcinst/app/afcinst/product/19.3.0/dbhome_1’安装oracle的用户:oracle一.配置oracle19c开机自动启动1. 修改oracle的启动脚本配置[root@HEB-2-SCe......
  • Kafka系列---【kafka设置开机自动启动】
    注意:先停止kafka,再操作。1.新增kafka.servicevi/etc/systemd/system/kafka.service#kafka.service内容[Unit]Description=ApacheKafkaServiceAfter=network.target[Service]Type=forkingExecStart=/opt/app/middles/kafka_2.12-2.4.1/bin/kafka-server-start.sh......
  • Zookeeper系列---【zk添加服务器开机自启动】
    注意:如果zk已经启动了,要先停掉,再执行下面的命令。1.新增zk.service文件sudovi/etc/systemd/system/zk.service#zk.service的内容,注意修改成自己的JAVA_HOME和zk安装目录[Unit]Description=ApacheZooKeeperServiceAfter=network.target[Service]Type=forkingExecS......
  • iPhone开机一直白苹果闪烁,3个解决卡在开机画面的方法!
    很多苹果用户在网上反馈,某天iPhone开机一直卡在开机Apple标志画面,而且白苹果一直闪烁。 长按电源键也无法正常启动设备,黑屏后还是会出现苹果logo,一直闪烁。遇到iPhone开机一直白苹果闪烁的情况,多半是因为iOS系统故障。更专业的说,是系统组件调用执行失败而导致无法出现系统的......