开关机动画流程

本文档介绍了如何解决开关机动画加载时黑屏时间过长的问题。主要分析了MediaServer初始化延迟与Camera Sensor搜索耗时的影响,并提供了解决方案,包括检查和优化Backup Camera Sensor数量、调整初始化操作到子线程以及针对BootAnimation的优化,以缩短黑屏时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

技术分享

问题:开关机动画加载黑屏时间过长解决方法

[SOLUTION]
在开机过程,由于加入开机铃声,在播放动画前需要等待 MediaServer 初始化完成, MediaServer 的初始化
可能由于 audio 或者 camera 初始化过慢导致黑屏问题,目前遇到大多都是配置 camera
多,导致 camera 初始化阶段 search
backup sensor 太
camera sensor 耗时太长。
1. 首先对于开机 kernel logo 到动画黑屏的问题,可以通过加入开机铃声和去掉开机铃声对比测试,确定黑屏
是否和加入开机铃声相关。
2. 如果是因为加入开机铃声黑屏,从开机 log 来 check 黑屏的原因,从开机的 main_log.boot 搜索关键字“
bootanimation ”, check 如下两句 log 的间隔时间:
BootAnimation: enter threadLoop()
BootAnimation: [BootAnimation threadLoop 674]bexist=0,nMp3Exist=-
1,pSoundFileName=/system/media/bootaudio.mp3,pBackupSoundFileName=/data/lo
cal/bootaudio.mp3 (这一句 log 的每个变量的值可能具体 Log 有些不一样)
如果这对应的两行 log 的时间间隔比较长,基本可以确定是和 MediaServer 初始化时间过长有关。
3. 进一步确定 MediaServer Init 比较慢是否和 Camera 有关, check 如下的 log :
在main_log.boot这份log中,搜索CameraService started 这个关键词去看camera service 启动的时间点   
CameraService(   105): CameraService started (pid=105)
接下来在 main_log.boot 搜索关键字 “ ImgSensorDrv ”, check camera search sensor 的时间
:
ImgSensorDrv: [getInstance][ImgSensorDrv] getInstance
ImgSensorDrv: [impSearchSensor]Warning(  168):SENSOR search [0]0x5645 /
[1]0x5ea1 start
ImgSensorDrv: [impSearchSensor]SENSOR search end:
如果 ImgSensorDrv start 到 end 的时间和步骤 2 bootanimation 等待 MediaServer 初始化的时间差
不多,且开始结束时间也对应,可以确定黑屏是和 Camera Search Sensor 太多有关
4. 接下来,可以进一步 check Project 配置的 Backup Camera Sensor 是不是太多,如果 Backup
Sensor 过多,可以通过去掉多余的 Camera Sensor 进一步验证。
另外还可以通过将 camera service init 时 search sensor 这个耗时的操作放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值