V8::IdleNotification() 从不返回 true

V8::IdleNotification() never returns true

本文关键字:返回 true IdleNotification V8      更新时间:2023-10-16

由于某些原因,有时 IdleNotification 的调用永远不会返回 true。文件指出

嵌入程序空闲的可选通知。V8 使用通知来减少内存占用。可以使用此调用 如果嵌入程序保持空闲状态,则重复。如果 嵌入程序应该停止调用 IdleNotification,直到实际工作完成 已经完成了。 这表明 V8 已经完成了尽可能多的清理工作 将能够做到。

因此,当 IdelNotifcation 永远不会返回 true 时,这意味着 V8 的垃圾收集器永远不会完成它的工作。

因为我真的找不到这种行为的原因,如果有人能给我一个提示可能导致这种情况的原因,我会很高兴。

尝试在Isolate上调用LowMemoryNotification(),而不是在调用IdleNotification之前或之前调用。前一个函数通知 V8 它应该可以释放内存。如果没有这种内存压力,它就不关心您可能已分配的几个字节。