【问题标题】:JavaScript Heap Size and Chrome IncreasingJavaScript 堆大小和 Chrome 增加
【发布时间】: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


【解决方案1】:

我建议您查看以下资源。您可以了解如何检查浏览器时间线以检测泄漏引用和性能问题。

第一个来自 Chrome 开发者今年在 Google IO 上的演讲:

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

第二个来自保罗·爱尔兰在断点第 2 集的谈话:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 2018-02-25
    • 2014-10-24
    • 2012-12-07
    • 2013-01-26
    • 2014-05-13
    • 2015-11-22
    • 2010-11-24
    • 2013-03-09
    相关资源
    最近更新 更多