问题描述: 在Chrome更新到76+版本后,Android的webview无法绘制画布。
解决方法:
检查是否启用了硬件加速: 在webview的配置中,启用硬件加速可以解决这个问题。
// 启用硬件加速
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
} else {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
禁用Chrome的软件渲染: 在webview的配置中,禁用Chrome的软件渲染可以解决这个问题。
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
降级Chrome版本: 如果以上方法都无效,可以尝试将Chrome版本降级到76以下版本。
// 降级Chrome版本
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36");
注意: 这些解决方法可能会因为Android版本和具体设备的差异而有所不同。