目前正在开发基于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截图上传)

注意#1:是的,我尝试在下一个setInterval()之前调用clearInterval().问题依然存在!
注意#2:为了隔离问题,我保持上面的代码简单而愚蠢.