我有一个循环,每 30 毫秒通过 window.setInterval 调用一次。
它看起来像这样:
var loop = function (w, t){
for( i=0; i<w; i++){
value= something*t;
ctx.strokeStyle="rgba(" + Math.floor(color[0]*value) + "," + Math.floor(color[1]*value) + "," + Math.floor(color[2]*value) + "," + 255 + ")";
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(i ,0);
ctx.lineTo(i ,h);
ctx.closePath();
ctx.stroke();
}
}
var color =[0,0,0];
var myLoop=window.setInterval(function(){
loop(width, time);
}, 30);
作为参考 w 通常是 ~ 1000-1500
当我在计算机上运行它时,我完全没有问题。但是,在内存较少的设备上运行,程序运行速度非常慢(即,它缓慢地绘制到画布上)。
我想我在某处有一些内存泄漏,但我不知道在哪里。
或者,我可能疯了,分配 1000 个画布路径太多了。但是我找不到关于画布绘图方法如何分配内存的解释。
有什么提示吗?