【发布时间】:2012-10-25 19:20:24
【问题描述】:
我有一个纯 JavaScript 的网页应用程序。我注意到每次返回新视图的 AJAX 调用时 JavaScript 堆大小都会增加。我应该做些什么来清理旧视图?
【问题讨论】:
-
您是否确保您没有(错误)使用全局变量?
-
很明显,但您是否比较过 Chrome 中的堆快照? developers.google.com/chrome-developer-tools/docs/…
-
是的,我对所有创建对象的页面都有闭包,因此没有全局变量。我有一个命名空间。
-
您是否使用框架,即 Backbone、YUI 等?这是一个 EDA 应用程序吗?如果是这样,您需要确保从 DOM 中正确清除事件订阅。
-
如果你没有使用缓存,那么在你的ajax调用中设置缓存:false
标签: javascript ajax performance google-chrome heap-memory