使用createjs和canvas时,android上的位图会崩溃

使用createjs和canvas时,android上的位图会崩溃,android,html,cordova,html5-canvas,createjs,Android,Html,Cordova,Html5 Canvas,Createjs,这不是一个代码问题,而是一个性能问题。我正在制作一个小游戏,既可以在桌面浏览器上使用,也可以在手机上使用。我正在使用HTML5和CreateJs制作游戏,并将大部分内容绘制在画布上 我的问题是,它在标准的桌面浏览器上运行得非常好,但一旦我在android设备上通过PhoneGap运行它,我的图形就会出现奇怪的小故障。如果我用最基本的方法从画布上移除一些东西,比如: stage.removeChild(myBitmap); stage.update(); 有时,而不是每次,位图的一部分仍保留在画

这不是一个代码问题,而是一个性能问题。我正在制作一个小游戏,既可以在桌面浏览器上使用,也可以在手机上使用。我正在使用HTML5和CreateJs制作游戏,并将大部分内容绘制在画布上

我的问题是,它在标准的桌面浏览器上运行得非常好,但一旦我在android设备上通过PhoneGap运行它,我的图形就会出现奇怪的小故障。如果我用最基本的方法从画布上移除一些东西,比如:

stage.removeChild(myBitmap);
stage.update();
有时,而不是每次,位图的一部分仍保留在画布上。我想说大约有10%留在那里。感觉好像我需要冲洗或重新绘制画布。android上的canvas是否存在已知问题(我只看到它发生在android上),或者这是一个与createjs相关的问题


如果用动画移动位图,也会出现同样的问题。

我终于找到了解决方案。这是一个已知的安卓4.1+错误,似乎主要发生在三星(S2+)设备上。请在此处阅读有关此问题的更多信息:

简而言之,以下代码解决了我的问题:

stage.update();
var canvas = document.getElementById("myCanvas");
canvas.style.opacity = 0.99;
setTimeout(function() 
{
    canvas.style.opacity = 1;
}, 1);

所以这不是PhoneGap或CreateJS问题

肯定与Android相关。Android的画布(特别是非Chrome浏览器中的画布)是最有问题的画布实现之一,并且有很多类似的问题,更不用说性能差了。我没有太多关于性能方面的抱怨,但我没有那么密集地画。然而,这是一个相当大的错误。无法移动位图或将其从画布中删除会使其变得毫无意义:)同意。不幸的是,这是浏览器中的一个bug。