计算正在使用的所有对象和变量

时间:2013-03-24 22:45:40

标签: javascript memory-leaks

是否可以在javascript中计算创建的对象和变量?

我正在使用Google Chrome来分析我的网络应用。但调试和找到导致“内存泄漏”的对象并不那么容易(至少对我而言)。所以我想知道在当前页面上创建的所有对象和变量,以便我知道它们是否被删除。

1 个答案:

答案 0 :(得分:3)

不,你不能在Chrome(或任何其他主要浏览器)中这样做。您可以使用Chrome的“内存”页面(chrome:// memory /)来了解某些想法是什么,但它并没有达到对象级别,这很重要了解垃圾收集同步或立即发生。浏览器/ JavaScript引擎可以很好地分配内存,将它用于某些JavaScript对象,然后再正确理解这些对象不再使用,但保留内存以备将来使用。

相反,您可以做的是详细研究JavaScript的工作原理,它会告诉您(通常)将在内存中保留的内容以及原因。理解how closures work (披露:这是我贫血的小博客上的帖子),并了解IE如何不能很好地处理DOM元素和JavaScript对象之间的循环引用(具体来说,它不是当没有任何东西引用它们时,它们会很好地清理它们,否则这通常不是问题)。一般情况下,除非您有特定问题需要解决,否则不要过于担心。 (这绝对会发生,但不像人们有时想的那么多。)