Утечка ресурсов .NET Gotchas - PullRequest
13 голосов
/ 29 мая 2009

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

Пожалуйста, добавьте свой ответ с одним ответом на каждый элемент, чтобы за него проголосовали:)

Ответы [ 17 ]

1 голос
/ 29 мая 2009

Если вы считаете управляемую память «ресурсом» - сбой отсоединения обработчиков событий является распространенным источником утечек памяти (и других более серьезных ошибок).

1 голос
/ 29 мая 2009

Статические списки, словари и ресурсы на основе коллекций, которые заполняются вне кода запуска.

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

Что-нибудь статическое требует особой осторожности!

0 голосов
/ 28 сентября 2011

Не удалось вызвать Dispose () для Таймер

0 голосов
/ 26 ноября 2009

Неправильная настройка Spring.NET для создания нескольких экземпляров чего-то, что должно быть единичным.

0 голосов
0 голосов
/ 29 мая 2009

Не удается удалить любые объекты, связанные с рисованием (Графика, Шрифт, SolidBrush, Перо и т. Д.) В .NET Compact Framework. Это может вызвать серьезные утечки памяти, когда вы не хотите (мобильное устройство = ограниченная память).

0 голосов
/ 29 мая 2009

Маркеры олицетворения остаются открытыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...