开机动画播放视频耗时分析
开机动画播放视频耗时分析 流程耗时 下面是Bootanimation的耗时流程图 根据Bootanimation进程及日志分析,开机动画播放图片时主要耗时有3个地方。 等待RenderService这里在等待RenderService进程初始化成功,可以将RenderService进程提前启动来缩短这一步的耗时。 media player准备这里的耗时主要是 Media::PlayerFactor
开机动画播放视频耗时分析
流程耗时
下面是Bootanimation的耗时流程图
根据Bootanimation进程及日志分析,开机动画播放图片时主要耗时有3个地方。
等待RenderService
这里在等待RenderService进程初始化成功,可以将RenderService进程提前启动来缩短这一步的耗时。media player准备
这里的耗时主要是 Media::PlayerFactory::CreatePlayer()(1.2s)和 SetSource(uri)(0.8s)这两步。根据日志这两步在 media 进程里,会获取 BMS 和 MemMgr 两个服务的SA id,如果获取失败(它们还没有注册id),会循环获取直到超时。
根据实际情况,即使这两个服务都没有获取到也是可以正常播放开机动画的,因此可以根据实际情况在 media 端进行修改,也可以在 SA 端将获取失败再次获取的等待时长设置短一些。视频播放
这里的耗时就是视频的实际时长。
另:还有一种情况是 media 服务没起来导致Media::PlayerFactory::CreatePlayer()失败,这种情况会导致开机动画起播时间更晚。
总结
开机动画直接依赖于 RenderService、Media 服务,间接依赖于 BMS、MemMgr 等服务,他们任意一个服务启动晚了都可能导致开机动画启播时间晚的问题。
更多推荐
所有评论(0)