JavaScript堆大小和Chrome增加

6

我有一个单页面应用程序,全部由JavaScript编写。我注意到每次返回新视图的AJAX调用时,JavaScript堆大小都会增加。我是否需要清理旧视图?


1
你是否确保没有(误)使用全局变量? - thatidiotguy
2
你是否在Chrome中比较过堆快照?https://developers.google.com/chrome-developer-tools/docs/heap-profiling - Ken
是的,我为所有页面都创建了闭包以创建对象,因此没有全局变量。我只有一个命名空间。 - Mike Flynn
1
你是否正在使用框架,例如Backbone、YUI等?这是一个EDA应用程序吗?如果是,您需要确保事件订阅从DOM中正确清除。 - SonOfNun
如果您没有使用缓存内存,则在您的 AJAX 调用中设置 cache:false。 - Hussain Akhtar Wahid 'Ghouri'
你可以发布一个简单的代码示例吗? - kybernetikos
1个回答

3
我建议你查看以下资源。您可以了解如何检查浏览器时间轴以检测泄漏引用和性能问题。
第一个资源来自Chrome开发人员,今年在Google IO上讨论。

http://www.youtube.com/watch?v=3pxf3Ju2row

第二个来源是保罗·爱尔兰在《Breaking Point》第2集中的讲话:

http://www.youtube.com/watch?v=PPXeWjWp-8Y

我相信你会找到很多线索!! 无论如何...如果你在jsfiddle.net上分享你的代码测试用例,我们可以看一看 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接