0

我遇到了一个大问题,我正在处理自动挂起浏览器的大项目 javacript 执行
“如何检测 javascript 正在使用多少内存并定期清除内存。这可能吗?”

4

2 回答 2

4

你没有办法玩记忆。Javascript 在沙盒环境中运行,因此您无法以任何方式访问内存管理。垃圾收集器会处理这个问题,你可以以某种方式让它做你想做的事,但它是随机的。不要指望它。

相反,对于您的问题,您可以使用 Chrome Inspector 的 Profiler。

探查器

它有什么作用?嗯......它描述了你所在的网页。你可以看到每个功能需要多长时间,尤其是:你的瓶颈在哪里

于 2012-07-17T07:54:38.460 回答
2

特别是在 Chrome 中尝试。

Chrome 的 V8 有一个出色的世代垃圾收集器,其中发生了三种类型的轮询:三个线程不断地轮询这三种类型,我认为它们以 10、50 和 200 毫秒的间隔运行(我可能弄错了数字,但是它们基本上是相似的,老一代的时间间隔增加了)。

这是激进的,并确保内存使用率保持在低水平。

尽管如此,如果您的代码在 Chrome 中占用内存,那么您可以确定问题出在代码上。可能是这样的:

(a) 您的代码确实未优化,或者
(b) 它确实在处理可能不适合客户端的非常大的数据(例如,具有大量小部件、dom 节点等的过重页面)

想发布一些片段吗?

于 2012-07-17T07:43:06.137 回答