← Каталог
Сборка и культура производительности — 1. Разбор реальных утечек памяти
Фрагмент из «Сборка и культура производительности»: 1. Разбор реальных утечек памяти.
public class EventLeakExample
{
private static readonly List<DataProcessor> _processors = new();
public void RegisterProcessor(DataProcessor processor)
{
// Подписка на событие без сохранения ссылки для отписки
processor.DataReady += HandleData;
_processors.Add(processor); // Удержание процессора в памяти
}
private void HandleData(object sender, DataEventArgs e)
{
// Обработка данных
}
// Отписка никогда не происходит — процессоры накапливаются
} public class EventLeakExample
{
private static readonly List<DataProcessor> _processors = new();
public void RegisterProcessor(DataProcessor processor)
{
// Подписка на событие без сохранения ссылки для отписки
processor.DataReady += HandleData;
_processors.Add(processor); // Удержание процессора в памяти
}
private void HandleData(object sender, DataEventArgs e)
{
// Обработка данных
}
// Отписка никогда не происходит — процессоры накапливаются
}