我正在尝试配置一个JavaScript函数,通常需要不到1毫秒才能执行。但在一些非常罕见的情况下,完成执行可能需要几百毫秒,我怀疑这是由于GC中断了方法的执行。
所以,我的问题是:
对于最后一个问题,我正在考虑使用新的performance.memory
对象:
var startHeap = performance.memory.usedJSHeapSize
// execute JS method here
if (performance.memory.usedJSHeapSize < startHeap) {
//GC event
}
此方法的问题在于,至少在Chrome中,使用的堆值非常不准确。它被舍入到百分之一千字节,并且如果GC事件已执行则不会改变。