Оптимизация общей памяти
Каковы наиболее распространенные оптимизации памяти в csharp, dotnet 2.0. Хотел узнать, есть ли общие вещи, которые люди могут не делать по умолчанию в приложении winform
3 ответа
Решение
- используйте структуры для небольших объектов-оболочек, чтобы избежать фрагментации кучи
- Тщательно продумайте время жизни объекта, особенно для крупных объектов, чтобы они не попали на LOH, если вы не собираетесь их
- думать о распределении внутри цикла
- убедитесь, что динамически изменяемый массив будет иметь разумный размер, иначе разделите проблему
Используйте StringBuilder вместо прямого изменения строки, если вы выполняете много модификаций для одной и той же строки.
Запечатывание как можно большего количества классов также должно помочь. AFAIK - это одна хитрость, которую SmartAssembly использует для уменьшения потребления памяти.