Почему и как избежать утечек памяти обработчика событий?C#

Место общения программистов C#
Ответить
Anonymous
 Почему и как избежать утечек памяти обработчика событий?

Сообщение Anonymous »

Прочитав несколько вопросов и ответов на сайте Stack Overflow, я понял, что добавление обработчиков событий с использованием += в C# (или его эквивалента в других языках .NET) может привести к частым утечкам памяти. p>
Я использовал подобные обработчики событий в прошлом много раз и никогда не осознавал, что они могут вызвать или вызвали утечки памяти в моих приложениях.

[*]Как это работает (то есть, почему это на самом деле вызывает утечку памяти)?
[*]Как я могу решить эту проблему? Достаточно ли использования -= для одного и того же обработчика событий?
[*]Существуют ли общие шаблоны проектирования или лучшие практики для обработки подобных ситуаций?

Например, как мне обрабатывать приложение, которое имеет много разных потоков и использует множество разных обработчиков событий для вызова нескольких событий в пользовательском интерфейсе?
Есть ли хорошие и простые способы эффективного мониторинга этого в уже созданном большом приложении?

Подробнее здесь: https://stackoverflow.com/questions/452 ... mory-leaks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»