我在android浏览器上执行了javascript html5 canvas测试以进行性能分析 要在android webbrowser中禁用html5画布上的2d渲染的硬件加速,我在android浏览器中配置了标志。 (external / packages / apps / Browser ...)
<application android:hardwareAccelerated="false" ...>
但是,此配置似乎不起作用。 谁能给我一些帮助?
答案 0 :(得分: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);
}
}
}
答案 1 :(得分:0)
我认为您在Android Canvas和html5画布之间感到困惑。他们是两个不同的东西。您的代码片段适用于Android画布。不是Html5。我认为在浏览器上禁用硬件加速的唯一方法是更改浏览器设置。 Here是Chromes切换的一个例子。