---
title: "Требования к памяти"
---

Aspose.Words предоставляет широкий спектр возможностей для работы с документами различных форматов. Важно отметить, что максимальный размер файла документа, который Aspose.Words может обработать или отобразить, не ограничен. Единственным ограничением является объем RAM (памяти), доступный на вашей стороне.

## Сколько требуется памяти Aspose.Words

Обычно Aspose.Words требуется в несколько раз больше памяти, чем требуется для создания модели документа в памяти. Например, если размер вашего документа равен 1 MB, то для создания объектной модели документа (DOM) в памяти Aspose.Words потребуется 10-20 MB из RAM. Коэффициент умножения зависит от формата, поскольку некоторые форматы более компактны, чем другие. Например, DOCX более компактно, чем DOC и RTF, а DOC более компактно, чем RTF.

Нет точного способа оценить, сколько памяти Aspose.Words на самом деле потребляет при обработке любого конкретного файла документа. Как вы, возможно, знаете, Java хранит данные в классах, каждый экземпляр класса использует некоторую часть памяти для внутренних целей JVM (Java виртуальная машина). Таким образом, любой абзац или форматированный текст (даже если он состоит из одного символа) после загрузки в DOM занимает некоторое количество дополнительной памяти. Кроме того, механизм сбора мусора Java использует сложный алгоритм для определения наилучшего времени для выполнения сбора памяти, что затрудняет определение реального потребления памяти.

## Как рассчитать объем памяти

Давайте рассмотрим два документа:

1. DOCX "A" документ - размер 0.35 MB (2 тысячи страниц), только текст
2. DOCX "B" документ размером 0.35 MB (всего 1 страница) с изображением PNG внутри

Как вы знаете, многие современные форматы, такие как DOCX, ODT и т.д., представляют собой простые архивы ZIP. Итак, мы получаем следующий алгоритм расчета:
1. Разархивирование. Разархивированный документ "A" имеет размер 20 MB, документ "B" имеет размер 0.4 MB
2. Загрузка документа в модель (построение объектной модели документа - DOM):
* Для создания DOM первого документа "A" требуется размер 49 MB
* Для создания DOM второго документа "B" требуется всего 2 MB размера.
3. Измерение необходимого объема памяти для преобразования этих документов в PDF. Для этой операции Aspose.Words требуется:
  *  294 MB для документа "A"
  * 7 MB для документа "B"

Итак, как вы можете видеть, линейной зависимости от размера входного документа нет. Существует множество факторов, которые могут повлиять на требуемый размер RAM - формат документа, его сложность и структура, количество изображений и их формат и множество других факторов.

## Как наиболее точно рассчитать множитель памяти

Эксперименты с тысячами реальных документов показывают, что обычно Aspose.Words требует в несколько раз больше памяти, чем средний размер документа, для создания модели документа в памяти и выполнения простых операций, таких как преобразование между форматами потока, mail merge, синтаксический анализ, замена и так далее. Иногда речь идет о множителе, равном 2, а иногда и 20.

Более сложные операции, такие как рендеринг (преобразование в фиксированные форматы страниц), обновление полей, разделение страницы и другие, для некоторых документов требуют в 20 раз больше ресурсов, чем объем памяти, выделенный документом, загруженным в Aspose.Words DOM.

Если результаты вашего профилирования указывают на возможную проблему с памятью в Aspose.Words, пожалуйста, свяжитесь с нашим [Команда поддержки](/words/ru/java/technical-support/) и включите всю диагностическую информацию.

## Смотрите также

* [Визуализация](/words/ru/java/rendering/)
* [Mail Merge и отчетность](/words/ru/java/mail-merge-and-reporting/)
* [Работа с полями](/words/ru/java/working-with-fields/)
