2010-05-27 104 views
5

我正在使用chrome(我的mac的开发版)。延迟垃圾收集?

我正在查看我的页面加载的时间线,并且看到由于加载页面时发生了一些垃圾回收,导致延迟150ms。

loading times

这是黄线。

我很好奇,如果有任何方法可以阻止它,延迟它,无论如何我得到页面加载更快?

+0

1 /如果您使用Chrome开发的任何语言标记了您的问题,它可以帮助人们回答您。2 /一般来说,垃圾收集已经尽可能晚地触发,因此您只能自动提前触发它,而不是延迟它(除非你愿意增长堆)。 – 2010-05-27 21:59:54

+0

我相信它是用C++编写的 – GeoffreyF67 2010-05-27 22:02:25

+0

加载页面时GC是否总是被触发?是哪个版本的Chrome? – Yuji 2010-05-28 15:56:10

回答

-3

不要创建这么多垃圾:查看JavaScript程序在加载过程中分配内存的位置,并查看是否可以通过重用数据结构或延迟该工作来消除垃圾回收,直到页面加载完毕。这可以让你“延迟”垃圾收集。

+2

-1这不是一个有用的答案。在所有。 – 2010-05-28 16:24:27

3

针对某些评论的问题,这不是C++问题。

当v8(chrome中的JavaScript引擎)引擎检测到它应该开始释放代码中不再需要的对象所使用的内存时,会发生垃圾收集。您可以访问v8页面以获取有关垃圾收集器的更多信息。

可能有很多原因会导致您的代码很早就被垃圾收集,在这种情况下,我们需要查看您的代码。在页面加载时是否有很多变量超出范围?