【发布时间】:2012-03-19 03:55:46
【问题描述】:
我正在尝试调试我的 web 应用程序中的内存泄漏。
我拍摄堆的快照并比较不同的堆。
我发现我的一些对象在某处被引用。 但是,我的所有对象都通过看起来在我内部的对象保留,例如:
如您所见,这个 SectionNavView 对象被我创建的几个方法引用:cleanUp、hide、isShown 等,使用我的局部变量 that,但这些方法被引用来自我无法控制的东西:idToWrappedObject。有时,还有另一个中介 - injectedScript 对象。
如果我的对象只是从内部 V8 引用中被引用,难道不应该在分析器在其 GC 期间拍摄快照之前释放它们吗?
【问题讨论】:
-
如果它们被你无法控制的东西引用,它可能有你无法删除的循环引用。
-
如果下面的答案回答了您的问题,Stack Overflow 的工作方式,您会“接受”这个答案。详情:stackoverflow.com/help/someone-answers
标签: javascript debugging google-chrome memory-leaks profiler