HTML5画布应用程序(javascript) - 如何检测内存泄漏?

时间:2010-10-31 16:49:52

标签: javascript web-applications html5 canvas

我遇到了一个奇怪的问题 - 应用程序在运行时会迅速减速。只有想到的是内存泄漏,但如何在javascript中检测它?有没有工具? 无论如何,这是代码:

function draw_ship(){
    //Body
    var sbpaint = ctx.createLinearGradient(shipx+20,shipy,shipx+20,shipy+15);//painting the ship
    sbpaint.addColorStop(0,'rgb(220,220,230)');
    sbpaint.addColorStop(1,'rgb(150,150,160)');
    ctx.fillStyle = sbpaint;
    ctx.moveTo(shipx,shipy);
    ctx.lineTo(shipx+40,shipy);
    ctx.lineTo(shipx+55,shipy+15);
    ctx.lineTo(shipx-15,shipy+15);

    ctx.fill();
    //Head
    var shpaint = ctx.createLinearGradient(shipx+20,shipy,shipx+20,shipy-20);
    shpaint.addColorStop(0,'rgb(200,200,210)');
    shpaint.addColorStop(1,'rgb(100,100,110)');
    ctx.fillStyle = shpaint;
    ctx.arc(shipx+20,shipy,20,Math.PI,Math.PI*2,false);
    ctx.fill();
}

如你所见,这是非常简单的,我真的很困惑,泄密可能在哪里。 应用程序本身在这里: link,从菜单中选择“滚动条”。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

问题被证明是微不足道的,因为它很烦人 - 在使用lineTo绘制表单之前,没有应用 .beginPath()方法。 感谢所有评论的人。