有没有办法检测一下JavaScript方法是否被GC中断?

时间:2014-09-05 19:10:48

标签: javascript garbage-collection

我正在尝试配置一个JavaScript函数,通常需要不到1毫秒才能执行。但在一些非常罕见的情况下,完成执行可能需要几百毫秒,我怀疑这是由于GC中断了方法的执行。

所以,我的问题是:

  1. 有没有办法告诉浏览器在执行特定功能时不运行GC(可以是浏览器特定的)。
  2. 我可以检测到GC事件发生的时间。
  3. 对于最后一个问题,我正在考虑使用新的performance.memory对象:

    var startHeap = performance.memory.usedJSHeapSize
    // execute JS method here
    if (performance.memory.usedJSHeapSize < startHeap) {
        //GC event
    }
    

    此方法的问题在于,至少在Chrome中,使用的堆值非常不准确。它被舍入到百分之一千字节,并且如果GC事件已执行则不会改变。

0 个答案:

没有答案