首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript setInterval()方法会导致内存泄漏吗?

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

Stack Overflow用户
提问于 2012-12-26 05:27:11
回答 8查看 47.2K关注 0票数 68

目前正在开发一个基于JavaScript的动画项目。

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

例如,当我在Google Chrome中调用init()来执行下面的简单代码时,内存分配+垃圾回收在最初的20-30秒内是可以接受的……

代码语言:javascript
复制
function init()
{
    var ref = window.setInterval(function() { draw(); }, 50);
}

function draw()
{
    return true
}

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

(编辑:上传的chrome截图)

注意#1:是的,在下一个setInterval()之前,我已经尝试过调用clearInterval()。问题还是一样的!

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

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14034107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档