DCloud_heavensoft
DCloud_heavensoft
  • 发布:2017-10-07 18:36
  • 更新:2019-07-04 22:03
  • 阅读:4175

Android5的花屏、分块渲染解决方案

分类:HTML5+

部分Android5的设备上,Webview内核版本为37,有一个系统bug,就是Webview的渲染会出现花屏和分块渲染,具体现象就是页面内容一个方块一个方块的出现,体验很不好。
这个bug的成因是因为渲染内存不足时,Webview内部策略不当造成的。

检查Webview版本,可以看ua。

可选的解决方案如下:

  1. 降低内存占用
    最重要的是降低App内存占用,此话题篇幅较长,另见文章http://ask.dcloud.net.cn/article/12836
  2. 使用截屏来稳定窗体动画
    在动画api的参数里均可以设置截屏属性:见Webview的WebviewExtraOptions里的acceleration:capture。
    配置该属性后,窗体动画的启动时间会在不同手机上延迟几十到几百毫秒不等,因为截屏需要时间。
    截屏完成后,动画会变成截屏画面的移动,而不是真实Webview的移动,这种动画更平顺,能避免掉花屏和分块渲染。
    如果只是Webview37有花屏问题,那么建议判断仅在此时启动截屏动画。
  3. 关闭硬件加速
    判断在Webview内核版本为37时,关闭硬件加速。也可以解决花屏和分块渲染问题。但会有其他影响,具体参考http://ask.dcloud.net.cn/article/55
  4. 提示用户升级Webview
    Android5起,Webview可以单独安装升级。比如从华为应用市场或应用宝上下载一个Webview的apk,提示用户安装升级。

这些方法不用全部使用,最佳的方案是降低内存占用,并友情提示用户升级Webview,毕竟那个版本的Webview是真有bug。

2 关注 分享
Trust nmgwap@126.com

要回复文章请先登录注册