在做车载业务时遇见的问题,一直没时间总结,今天记录一下。
目录
场景背景
问题出现在车载系统环境中,系统WebView内核长期固定在83.x版本,系统升级受限,但业务侧WebApp在持续演进。(一个网站表示一个WebApp)
问题现象
在访问 TikTok、YouTube 等WebApp 时,出现白屏、布局错乱、视频区域不渲染等问题。
根因分析
通过排查发现,这并不是 WebApp 页面 bug,而是 WebView 83 版本对于最新的H5特性支持不完整。包括部分 CSS、JS Api、以及渲染管线能力,导致在复杂页面出现渲染异常。
优化
针对这个问题,从系统层面对 WebView进行了整体评估和优化:
- 评估内核升级对车载系统稳定性的影响;
- 解决升级过程中对系统 Framework、权限、进程模型的兼容问题;
- 调整相关 WebView相关配置策略,确保新内核在车载系统中稳定运行。
结果
在升级过程中结合系统环境做针对性适配和验证,WebApp 渲染异常问题得到解决,页面加载和首屏渲染时间平均降低 20%,夸设备和车载场景下的兼容性明显提升。
常见问题
为什么车载系统会一直停留在老版本WebView
通过部门其他同事了解到,车载系统对于稳定性和认证要求较高,WebView 是系统关键组件升级成本和风险较高,所以一直停留在老版本。
升级 WebView 最大的风险点
主要是有以下几点:
- 与系统 Framework 的接口兼容性;
- GPU / 渲染路径差异;
- 车载环境下的资源和权限限制。