0

我在 android 浏览器上执行了 javascript html5 canvas 测试以进行分析。
为了在 android webbrowser 中禁用 html5 canvas 上 2d 渲染的硬件加速,我在 android 浏览器中配置了标志。(外部/包/应用程序/浏览器...)

<application android:hardwareAccelerated="false" ...>

但是,这种配置似乎不起作用。谁能给我一些帮助?

4

2 回答 2

1

创建视图时,我添加了此代码,这对我有用:

    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);
        }
    }
}
于 2013-09-26T08:11:35.550 回答
0

我认为您对 Android 画布和 html5 画布感到困惑。他们是两个不同的东西。您的代码片段适用于 android 画布。不是 HTML5。我相信在浏览器上禁用硬件加速的唯一方法是更改​​浏览器设置。是 Chrome 切换的示例。

于 2013-08-09T02:13:09.283 回答