我在这个QnA上看到过类似的线索,但我的具体情况如下。当Javascript对象从内存中被垃圾收集?
function render(canvas) {
var renderer = new Renderer(canvas);
renderer.render();
}
Renderer.render()
借鉴了<canvas>
一些东西。现在事情是这样的,所以这意味着实例renderer
不是垃圾收集。这让我想起我的问题 - renderer
何时会被垃圾收集?请注意,除了通过自己的方法之外,此对象不会被其他地方引用。
我希望该对象在完成渲染时被垃圾回收。有什么办法可以强制吗?
你怎么知道'renderer'是**不是**在函数超出范围后收集垃圾? –
如果是这样,那么只要它超出范围就应该停止渲染。这实际上意味着它不可能提供任何东西。 – AppleGrew
哦,是的,我应该补充一点,render()不会立即渲染。它对队列进行排序,并设置'setTimeout'来后续处理队列。这是一种避免浏览器在呈现时被锁定的技巧。 – AppleGrew