Моя проблема в том, что использование моего приложения в памяти увеличивается каждый раз при рендеринге файла pdf с помощью viewer.js.viewer.js/pdf.js: Использование памяти увеличивается каждый раз при рендеринге pdf-файла
оказывает моей PDF-файл таким образом:
container = document.getElementById('viewerContainer');
viewer = document.getElementById('viewer');
pdfViewer = new PDFViewer({
container: container,
viewer: viewer
});
$scope.pdfFindController = new PDFFindController({
pdfViewer: pdfViewer
});
pdfViewer.setFindController($scope.pdfFindController);
container.addEventListener('pagesinit', function() {
pdfViewer.currentScaleValue = 'page-width';
});
PDFJS.getDocument($scope.getPageLink(pdf)).then(function (pdfDocument) {
documentPdf = pdfDocument;
pdfViewer.setDocument(pdfDocument);
});
оказывает файл в отдельном окне. Когда я вернусь к своему предыдущему виду и открою другой файл, использование памяти увеличится на ~ 20 МБ.
Я попытался это:
documentPdf.destroy();
Теперь, использование памяти уменьшается немного, но не столько, сколько было выделено раньше.
Есть ли решение для этого?
UPDATE:
pdf.js версия: 1.6.210
pdf.js версия работника: 1.6.210
Убедитесь, что вы измеряете памяти после сборки мусора была запущена (Некоторые браузеры могут заставить GC с помощью своих инструментов, чтобы сделать это) Рекомендуется для использования того же файла PDFWorker вы пытаетесь использовать несколько документов на одной странице. 'documentPdf.destroy();' - правильный шаг.Если вы не используете один и тот же файл pdfViewer для setDocument, убедитесь, что вы очищаете все ссылки на старый, включая pdfFindController. – async5
Нет пакета angularjs, доступного из проекта pdfjs. Трудно сказать или воспроизвести, если не указан полный пример или упомянутый пакет (поставщик). – async5
Я использую Xcode, чтобы увидеть использование памяти. Потому что я создаю его для iOS. PDFWorker должен быть одинаковым. Я просто задавал ссылку каждый раз, когда 'PDFJS.workerSrc = 'lib/pdfviewer/pdf.worker.js';'. Я удалил и установил переменные, подобные Giovazz89. Может быть, у viewer.js /pdf.js все еще есть ссылки? На самом деле, они должны быть перезаписаны, и я уничтожу документ в этом файле. Можно ли очистить все переменные в одном файле? –