1

我即将对我的网站进行 ajaxify,但我在一些高度 ajaxified 的网站(如 facebook 本身)中观察到,如果您浏览很长时间而不刷新浏览器会变慢,分别使用了更多的 ram,我想这是由于 javascript “剩菜”。如果 facebook 的开发人员未能做到这一点,那么问这个问题是没有必要的,但是嘿,如果你不尝试,你只会输。所以问题是“有没有办法在加载新页面之前从上一页清除变量和侦听器?”。先感谢您!

4

1 回答 1

1

这取决于浏览器,因为每个浏览器都有自己的垃圾收集。但是,您可以删除变量和 HTML 元素,如果 GC 认为它可以回收一些内存,它会。

我建议使用一些开发人员工具来实时观察内存使用情况。在 Chrome 中,您可以创建配置文件时间线并观察内存使用量的增长/缩减。所以你可以实时看到你的代码对内存管理的影响。

对于测试,我喜欢在单击按钮时运行清理代码,这样我就可以准确地知道代码何时运行以及代码如何影响内存使用。

嘿,既然你在那里和开发者一起玩。现在使用工具,查看其他可用的工具,它们非常有用。

于 2013-08-28T19:28:25.543 回答