Firefox 的 Javascript 内存分析器
Posted
技术标签:
【中文标题】Firefox 的 Javascript 内存分析器【英文标题】:Javascript memory profiler for Firefox 【发布时间】:2010-09-15 08:29:49 【问题描述】:是否有用于 Firefox 的工具/插件/功能可以转储您在页面/脚本中创建的 javascript 对象的内存使用情况?我知道 Firebug 的分析器,但我想要的不仅仅是时间。类似于 Yourkit 用于 Java 内存使用分析的东西。
原因是一位同事在数组中使用 id 作为“键”,并在执行此操作时创建了 1000 个空槽。他认为这是无害的,而我的看法不同。我想提供一些证据来证明我是否正确。
【问题讨论】:
【参考方案1】:我没有尝试过软件验证工具,但 Mozilla 有一些工具可以跟踪 firefox 消耗的总体内存以阻止泄漏:
http://www.mozilla.org/performance/tools.html
和:
https://wiki.mozilla.org/Performance:Leak_Tools
还有一个人说要避免在闭包的上下文中使用大数组,朝向文章底部
http://ajax.sys-con.com/node/352585
【讨论】:
第一个链接已过时 第一个链接已过时。【参考方案2】:我认为 Software Verification Limited 的JavaScript Memory Validator 可以帮助您,它有分配视图、对象视图、世代视图等。它不是免费的,但您可以使用评估版来检查您同事的代码。他们还有一个性能和覆盖率验证器......
【讨论】:
是的,Javascript 内存验证器是一个很棒的工具。它有许多独特的功能。 虽然我同意这是一个很棒的工具,但它只支持 Firefox 3.6.6。【参考方案3】:见the source。稀疏数组不会占用大量内存,但如果您的同事不需要任何Array
功能,那么他无论如何都应该使用普通的Object
s。
【讨论】:
【参考方案4】:也可以试试about:memory
,它显示了每个窗口占用了多少内存以及有多少内存专用于 JS 对象。它提供了没有每个对象使用情况的高级摘要,但它是调查站点内存需求的良好起点。
【讨论】:
【参考方案5】:您可以使用 Mozilla 的开发者工具。为了使用 Firefox 的高级开发人员工具,您需要创建调试版本而不是发布版本。有关构建过程的更多信息,请参阅the page。此外,您可以在paper 中找到有关使用 Mozilla 开发人员工具的更多信息。
【讨论】:
以上是关于Firefox 的 Javascript 内存分析器的主要内容,如果未能解决你的问题,请参考以下文章