Концерн памяти Unity Framework - PullRequest
       10

Концерн памяти Unity Framework

0 голосов
/ 20 января 2011

Я использую Microsoft.Practices.Unity Framework 1.2 и вижу, как со временем потребление памяти резко увеличивается. Я наблюдал за размерами кучи сборщика мусора для Gen 0, 1 и 2, и Объекты, кажется, постоянно повышаются до Gen 2, где они остаются и становятся старше и старше без заявления GC.

Могу ли я выполнить некоторые настройки, чтобы избежать чрезмерного потребления памяти?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Откуда ты знаешь, что это из-за единства?Возможно, ваши инъецированные экземпляры неправильно утилизируются.Я предлагаю RedGate Memory Profiler, так как он точно скажет, что не собирается.Утечки памяти - это PITA, и я имел дело с ними в течение последних 2 недель.

Обработчики событий обычно являются причиной подобных проблем.Убедитесь, что вы вручную удалили все обработчики событий.

Я обнаружил, что сборщик мусора не так хорош в очистке, как вы могли подумать.

0 голосов
/ 20 января 2011

Если объекты мигрируют в Gen 2, это означает, что они все еще живы.Убедитесь, что ваши классы реализуют IDisposable и что они вызывают Dispose() для любых ссылок, которые они содержат.Один из способов сделать это автоматически (если вы используете C #) - заключить ссылки в блок using.Ссылки будут автоматически удалены в конце блока.

...