JS как очистить кэш страниц у объекта документа pdf.js или как его не сохранять
Когда я беру страницу (page = doc.getPage), рендерю и после очищаю её (page.cleanup()), в объекте документа (doc) остаётся кэш страниц, который накапливается и быстро забивает память. doc._transport.#pageCache и doc._transport.#pagePromises приватные и метода для их очистки я не нашёл (doc.cleanup() и doc._transport.startCleanup() не помогают, а doc.destroy() очищает весь объект документа и дальше с ним работать не вариант).
Подскажите, пожалуйста, есть ли какой-то способ очистить этот кэш или выключить его, кроме как просто закрыть документ и открыть снова (но это долго)? Версия pdf.js v3.11.174
Ответы (1 шт):
Автор решения: Slava
→ Ссылка
- экспериментальным путём pageCache и pagePromises сделал общедоступными, что бы очищать их, начал использовать page._destroy() и это помогло
- оказалось, что даже когда сайт очищает память и размер кучи уменьшается, chrome эту память продолжает использовать и очищает, только когда уже не может взять новую поэтому сейчас у меня куча может не превышает 1 гб, а хром резервирует 7.7 Гб