我在 android 浏览器上执行了 javascript html5 canvas 测试以进行分析。
为了在 android webbrowser 中禁用 html5 canvas 上 2d 渲染的硬件加速,我在 android 浏览器中配置了标志。(外部/包/应用程序/浏览器...)
<application android:hardwareAccelerated="false" ...>
但是,这种配置似乎不起作用。谁能给我一些帮助?
我在 android 浏览器上执行了 javascript html5 canvas 测试以进行分析。
为了在 android webbrowser 中禁用 html5 canvas 上 2d 渲染的硬件加速,我在 android 浏览器中配置了标志。(外部/包/应用程序/浏览器...)
<application android:hardwareAccelerated="false" ...>
但是,这种配置似乎不起作用。谁能给我一些帮助?
创建视图时,我添加了此代码,这对我有用:
private void fixSignatureDoubleLineIssueOnJb(View root) {
Log.d(TAG, "API level: " + Build.VERSION.SDK_INT);
if (Build.VERSION.SDK_INT >= 16) {
try {
Method method = root.getClass().getMethod("setLayerType", int.class, Paint.class);
method.invoke(root, 0x01/* View.LAYER_TYPE_SOFTWARE */, null);
Log.d(TAG, "hardware accelaration disabled");
} catch (NoSuchMethodException e) {
Log.e(TAG, "failed to disabled hardware acceleration", e);
} catch (IllegalArgumentException e) {
Log.e(TAG, "failed to disabled hardware acceleration", e);
} catch (IllegalAccessException e) {
Log.e(TAG, "failed to disabled hardware acceleration", e);
} catch (InvocationTargetException e) {
Log.e(TAG, "failed to disabled hardware acceleration", e);
}
}
}
我认为您对 Android 画布和 html5 画布感到困惑。他们是两个不同的东西。您的代码片段适用于 android 画布。不是 HTML5。我相信在浏览器上禁用硬件加速的唯一方法是更改浏览器设置。这是 Chrome 切换的示例。