因此Android中存在WebView硬件加速的已知错误, 请参阅此处:https://code.google.com/p/android/issues/detail?id=17352
禁用硬件加速不是我的选择。
我读过这些很棒的参考资料:
我的问题是,如果打开HWA,是否有人知道任何CSS / HTML变通方法以防止可能出现的渲染伪像?
当我将焦点放在表单字段时,我只看到它们,它似乎会导致vsync-esque和subpixel gitches。当我关注这个领域时,整个页面似乎都在抖动。
似乎position: absolute
也与此有关。
任何人都有解决这个问题的经验吗?
答案 0 :(得分:0)
启用HWA时,我在渲染时遇到了类似的问题。当我将以下行应用于body(在css中)时,呈现问题消失了。
body {
-webkit-transform: translateZ(0);
}
答案 1 :(得分:0)
将此代码放在您的班级中:
webview.getSettings().setRenderPriority(RenderPriority.HIGH);
if (Build.VERSION.SDK_INT >= 19) {
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
}
else {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
答案 2 :(得分:-1)
添加:
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
backface-visibility: hidden;
perspective: 1000;
如果您使用3D转换..这是一个便宜的技巧但它会在iPad上特别提高性能..
此外,您可以尝试
-webkit-transform: rotateZ(0deg);
AFAIK旋转可以提升性能,因为gpu在旋转方面要好得多..
另一种方法是在屏幕上的每个元素上放置一个“无功能”转换。
如果我可以帮助你,请告诉我。