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