当前位置:  开发笔记 > 编程语言 > 正文

释放Javascript中未连接的DOM节点使用的内存

如何解决《释放Javascript中未连接的DOM节点使用的内存》经验,为你挑选了2个好方法。

作为我的应用程序的一部分,我正在组合一组未同时显示的小型Dom节点.我将它们存储在内部数组中.用户可以调用他们的显示,在这种情况下,我将它们重新显示到用于显示它们的div.这一切都很好.但是,当用新的替换所有这些时,我想要破坏旧的(有效地解除它们).否则,随着时间的推移,内存使用量可能呈指数级增长.如何强制浏览器js引擎执行此操作?只是将我的Dom节点数组中的每个项设置为null?我还有别的办法吗?或者也许我根本不用担心这个?



1> Kevin Babcoc..:

如果将每个项目设置为null,它们将自动进行垃圾回收.



2> kmkaplan..:

是的,将项目设置为null应该没问题...除了必须使用Internet Explorer处理一些实现细节:它对循环引用的处理是狡猾的.请参阅http://msdn.microsoft.com/en-us/library/bb250448.aspx

循环引用 - 在Internet Explorer的COM基础结构和任何脚本引擎之间计算相互引用时,对象可能会泄漏内存

所以你必须在某些情况下打破循环引用.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有