2011-03-13 114 views
0

我目前正在开发一个应用程序,目的只是使用chrome,其中一个应用程序的属性是它动态地附加JavaScript文件并运行它们。 当它们完成执行时,脚本标记被移除。由于应用程序的性质,我试图避免刷新页面。通过Javascript从HTML中删除Chrome资源后删除Chrome资源

我的问题是,Chrome会将这些文件保存为资源(可以在开发人员工具中查看此文件)并继续运行它们。因此,内存使用率会持续上升。

反正有阻止Chrome保留这些资源吗?

回答

0

听起来像你可能有一些reference leaks。您可以尝试停止执行旧代码(例如,从方法返回,取消注册事件处理程序,setTimeout和setInterval句柄等),然后明确设置任何可能的代码,而不是试图显式卸载dom中不再需要的javascript模块的表示引用模块范围中的值为null。

只有当你清理完所有这些垃圾回收器将释放内存的引用后(因为这是唯一的安全时间)。

+0

感谢您的回答。是的,我还没有解决参考泄漏,但我知道发生了什么。由于在某些脚本中实现了一些永久循环的性质,似乎当你删除它们时,即使在从dom中删除它们之后,它们仍然继续该循环。我的解决方案是重写setInterval和setTimeout来检查全局条件以停止执行。谢谢。 – Bodman 2011-03-14 21:00:15