V8 :: IdleNotification () никогда не возвращает true

По некоторым причинам, иногда вызов IdleNotification никогда не возвращает true. В документации говорится, что

Необязательное уведомление о том, что устройство для вставки не используется. V8 использует уведомление, чтобы уменьшить объем памяти. Этот звонок можно использовать
несколько раз, если кодировщик остается бездействующим. Возвращает true, если
Embedder должен прекратить вызывать IdleNotification, пока реальная работа не
сделано. Это указывает на то, что V8 сделал столько же очистки, сколько
смогу сделать.

Поэтому, когда IdelNotifcation никогда не возвращает true, это означает, что сборщик мусора в V8 никогда не завершает свою работу.

Поскольку я действительно не могу найти причину такого поведения, я был бы рад, если бы кто-нибудь мог дать мне подсказку, что может вызвать это.

2

Решение

Попробуйте позвонить LowMemoryNotification() на Isolate вместо или перед звонком IdleNotification, Первая функция сообщает V8, что она должна работать, чтобы освободить память. Без этого давления памяти это не заботится о нескольких байтах, которые вы могли бы выделить.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]