关闭

HTML5-canvas:hybrid框架下黑屏解决方案

标签: 前端canvas黑屏hybrid内H5黑屏javascriptandroid
1581人阅读 评论(0) 收藏 举报
分类:

HTML5-canvas:hybrid框架下黑屏解决方案

场景比较特殊:hybrid app+安卓手机内嵌套的H5+复杂图形绘制=偶先canvas画布元素黑屏:


可以看到,正常dom元素还是能够渲染并呈现,但是页面内主要的两块canvas元素则完全黑屏(此时为canvas设置的任何事件仍然有效)。某些安卓手机的WebView画布元素会呈现出黑屏,不论计算量大小,是否有动画,是否有触控事件,甚至可以认为所有安卓手机都有可能出现黑屏,解决方案不在H5前端,而在客户端。安卓某些版本的webview不支持canvas硬件加速,所以在很多情况下看到动画偶现黑屏。native增加了配置

webView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);

禁止canvas硬件加速,从而避免了类似黑屏、闪烁、动画停滞跳帧和擦除不全一类的问题。取消硬件加速后,动画会更加平顺,但是整体速度会变慢,这个速度的快慢程度取决于手机的计算能力。所以在安卓手机上要想达到统一的动画效果是不可能的。所有安卓手机类似于动画黑屏闪烁的问题都是这个原因。想了解更多内容可以搜一搜安卓webView的这条设置语句。

下面是一篇详细介绍在前端黑屏优化方法的文章链接:

http://blog.csdn.net/yuhk231/article/details/54376137

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:49382次
    • 积分:825
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:0篇
    • 译文:8篇
    • 评论:15条
    博客专栏
    文章分类