相关疑难解决方法(0)

JavaScript setInterval()方法会导致内存泄漏吗?

目前正在开发基于JavaScript的动画项目.

我注意到,正确使用setInterval(),setTimeout()甚至在requestAnimationFrame没有我的请求的情况下分配内存,并导致频繁的垃圾收集调用.更多GC调用=闪烁:-(

例如; 当我通过在谷歌浏览器中调用init()执行以下简单代码时,内存分配+垃圾收集在前20-30秒内没问题......

function init()
{
    var ref = window.setInterval(function() { draw(); }, 50);
}

function draw()
{
    return true
}
Run Code Online (Sandbox Code Playgroud)

不知何故,在一分钟左右的时间内,开始分配内存的奇怪增加!由于init()仅被调用一次,所以分配的内存大小增加的原因是什么?

(编辑:chrome截图上传)

chrome截图

注意#1:是的,我尝试在下一个setInterval()之前调用clearInterval().问题依然存在!

注意#2:为了隔离问题,我保持上面的代码简单而愚蠢.

javascript memory-leaks setinterval

62
推荐指数
4
解决办法
4万
查看次数

标签 统计

javascript ×1

memory-leaks ×1

setinterval ×1