javascript - 信任 Javascript 垃圾收集器

标签 javascript garbage-collection

我有几个实例,我的 Javascript 代码似乎在泄漏内存,但我不确定我应该从垃圾收集器那里得到什么。

例如 var = new Object() 在 Firefox 中运行的间隔计时器函数似乎会随着时间的推移而泄漏。有一些简单的解决方案,但我很好奇我是应该期待垃圾收集器处理所有事情还是我负责帮助垃圾收集器。

如果我需要帮助垃圾收集器,规则是什么?

最佳答案

大多数(我相信全部)Javascript (ECMAScript) 引擎通过称为“引用计数”的方法工作。我会留给你凝视那个词。

简而言之,当没有任何东西指向它时,对象被释放以供释放......使用它。

有两件事可能会打乱您对使用了多少内存的感觉。

1) ECMAScript 不会在系统处理完对象后立即释放对象。垃圾收集是“根据需要”运行的。这可能有很大差异。

2) 闭包持有引用的时间比您想象的要长。意外关闭的时间可能比您预期的要长。

关于javascript - 信任 Javascript 垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079054/

相关文章:

javascript - 当数据在 jquery 中动态加载时,单击事件不起作用

java - 一旦 GC 确定它无法访问,是否有一种方法可以回收复杂的 java 对象

c# - 在 C# 中强制垃圾收集的最佳实践

c# - 关于 .NET 中垃圾收集器的问题(内存泄漏)

java - 如何为java程序分配堆内存

javascript - 如何在模态中设置条件

javascript - Protractor - 失败 : stale element reference: element is not attached to the page document

javascript - 重定向到 App.js 中 componentDidMount 上的 url

javascript - 找不到 "trigger"的非 jQuery 等效项

c# - 既然 .NET 有一个垃圾收集器,为什么我们需要终结器/析构器/dispose-pattern?