Я работаю над приложением C #, и это приложение сталкивается с нехваткой памяти, поскольку многие объекты получают выделение памяти в куче больших объектов.
Моему приложению на C # приходится работать со многими большими файлами (как строковыми объектами), и поэтому память для этого строкового типа снова и снова выделяется из кучи Больших объектов (что приводит к фрагментации LOH).
Поскольку строка является неизменным объектом, этому объекту всегда назначается новая память в LOH.
Мой вопрос: есть ли способ, я могу предварительно выделить некоторую память в куче больших объектов и всегда выделять одну и ту же память для строкового объекта.
Вот вещь более подробно:
Как я уже говорил, я делаю обработку этих больших файлов. Чтобы сделать обработку, я должен преобразовать ее в строку. Даже если я использую stringBuilder, это не сильно поможет, потому что, как только я преобразую его в String, отдельная память для этого будет выделена в LOH.
Итак, я ожидал выделить кучу, скажем, 100 КБ в памяти, и всякий раз, когда я читаю новый файл и преобразовываю его в строку, эти 100 КБ выделяются.