V8 :: IdleNotification()永远不会返回true

时间:2013-09-09 14:49:57

标签: c++ v8 embedded-v8

由于某些原因,有时IdleNotification的调用永远不会返回true。文档说明了

  
    

嵌入器空闲的可选通知。 V8使用通知来减少内存占用。可以使用此调用     如果嵌入器保持空闲,则反复进行。如果是,则返回true     嵌入器应该停止调用IdleNotification直到实际工作     已经完成了。这表明V8已经完成了尽可能多的清理工作     能够做到。

  

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

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

1 个答案:

答案 0 :(得分:0)

尝试拨打LowMemoryNotification()上的Isolate,而不是在拨打IdleNotification之前或之前。前一个函数通知V8它应该可以释放内存。没有内存压力,它不关心你可能分配的几个字节。