Как и почти любое другое большое .NET
приложение, мое текущее C #
] проект содержит множество коллекций .net
.
Иногда я с самого начала не знаю, каков будет размер коллекции (List / ObservableCollection / Dictionary / и т. Д.).
Но много раз я точно знаю, что это будет.
Я часто получаю OutOfMemoryException
, и мне говорили, что это может произойти не только из-за ограничений размера процесса, но и из-за фрагментации.
Итак, у меня такой вопрос - будет ли установка размера коллекции (с использованием аргумента емкости в конструкторе) каждый раз, когда я узнаю ее ожидаемый размер, поможет мне предотвратить по крайней мере некоторые проблемы фрагментации?
Это цитата из msdn :
Если размер коллекции может быть оценка, указав начальную емкость устраняет необходимость выполнить ряд изменения размера операции при добавлении элементов в Список.
Но все же я не хочу начинать изменять большие части моего кода ради чего-то, что может не быть настоящей проблемой.
Помогло ли это кому-нибудь из вас решить проблемы с нехваткой памяти?