我有几个实例,我的 Javascript 代码似乎在泄漏内存,但我不确定我应该从垃圾收集器那里得到什么。
例如 var = new Object()
在 Firefox 中运行的间隔计时器函数似乎会随着时间的推移而泄漏。有一些简单的解决方案,但我很好奇我是应该期待垃圾收集器处理所有事情还是我负责帮助垃圾收集器。
如果我需要帮助垃圾收集器,规则是什么?
最佳答案
大多数(我相信全部)Javascript (ECMAScript) 引擎通过称为“引用计数”的方法工作。我会留给你凝视那个词。
简而言之,当没有任何东西指向它时,对象被释放以供释放......使用它。
有两件事可能会打乱您对使用了多少内存的感觉。
1) ECMAScript 不会在系统处理完对象后立即释放对象。垃圾收集是“根据需要”运行的。这可能有很大差异。
2) 闭包持有引用的时间比您想象的要长。意外关闭的时间可能比您预期的要长。
关于javascript - 信任 Javascript 垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079054/