由于某些原因,有时IdleNotification的调用永远不会返回true。文档说明了
嵌入器空闲的可选通知。 V8使用通知来减少内存占用。可以使用此调用 如果嵌入器保持空闲,则反复进行。如果是,则返回true 嵌入器应该停止调用IdleNotification直到实际工作 已经完成了。这表明V8已经完成了尽可能多的清理工作 能够做到。
因此,当IdelNotifcation永远不会返回true时,这意味着V8的垃圾收集器永远不会完成它的工作。
因为我无法找到这种行为的原因,所以如果有人能给我一个可能导致这种情况的提示,我会很高兴。
答案 0 :(得分:0)
尝试拨打LowMemoryNotification()
上的Isolate
,而不是在拨打IdleNotification
之前或之前。前一个函数通知V8它应该可以释放内存。没有内存压力,它不关心你可能分配的几个字节。