我的PhoneGap应用程序与两个Canvas对象的硬件加速有问题。
我需要两个Canvas对象来比较两个不同的图像。在我的桌面/便捷设备(浏览器)上一切正常,比较有效。
但是当我运行我编译的Android文件时,我得到了一个奇怪的行为。当我选择我的第一个图像时,它将被加载到我的第一个画布中,然后当我选择我的第二个时,我的第一个将在两个画布中都被覆盖,并且仅使用我画布中的第二个上下文。
我发现这个线程硬件加入是市长问题。
Phone Android HTML5 Hardware Acceleration - Canvas
我也用于画布EaselJS,当我在Android设备上测试以下代码时
<!DOCTYPE html>
<html>
<head>
<script src="http://code.createjs.com/easeljs-0.7.0.min.js"></script>
<script>
function init() {
var stage = new createjs.Stage("canvas1");
var stage2 = new createjs.Stage("canvas2");
var circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0, 0, 50);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
stage.update();
var circle2 = new createjs.Shape();
circle2.graphics.beginFill("blue").drawCircle(0, 0, 50);
circle2.x = 100;
circle2.y = 100;
stage2.addChild(circle);
stage2.update();
}
</script>
</head>
<body onLoad="init();">
<canvas id="canvas1" width="500" height="300">
alternate content
</canvas>
<canvas id="canvas2" width="500" height="300">
alternate content
</canvas>
</body>
</html>
当硬件加速被激活时我遇到了同样的问题,然后我得到了两个带蓝色的圆圈,而不是一个带红色的圆圈,另一个带蓝色。
我有什么方法可以激活硬件加速和画布绘制,或者是PhoneGap的PhoneGap或Android问题?