解决方案:
1.去掉FallbackHome
2.添加开机动画最后一帧为背景,变相增加开机动画时间
去掉FallbackHome
原理
开机以后,设备会有一个“android正在启动”这样的弹框,这个界面是一个叫FallbackHome的Activity来展示的。FallbackHome机制是Android系统启动过程中的一种降级处理机制。当系统启动时,如果默认的Launcher应用无法正常加载或出现错误,系统会自动启用FallbackHome来替代默认Launcher。但一般为了改善产品体验,最终决定移除弹窗页面,直接进入默认的Launcher,避免弹窗对用户界面的干扰。
FallbackHome机制:
1.默认Launcher故障检测:系统会检测默认的Launcher应用是否能够正常加载和运行。如果检测到故障,系统将启动FallbackHome。
2.解锁过程中的弹窗:在系统解锁之前,可能会出现一个"Android正在启动"的弹窗页面,用于指示系统正在加载和准备。这个弹窗页面通常出现在桌面壁纸上,用户需要等待系统完全解锁后才能进入默认的Launcher。
去掉FallbackHome的效果实际上是让FallbackHome的view不显示,然后开机启动动画延长一下,直到系统解锁后再停止开机动画,完成这样较为顺滑的过渡。
修改文件路径
vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/FallbackHome.java
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java
添加开机动画最后一帧为背景,变相增加开机动画时间
修改文件路径
vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/FallbackHome.java
在\vendor\mediatek\proprietary\packages\apps\MtkSettings\res\drawable下添加开机动画最后一帧图片imgBootAnimation,然后在FallbackHome中设置。
原文转载:https://blog.csdn.net/vviccc/article/details/134166381
其他解决方案欢迎补充。