TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.6K subscribers
Post #5685 6.5K
Как избежать утечек памяти в .NET

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

1️⃣ Отписывайтесь от обработчиков событий

Если объект подписался на событие и не отписался, он останется в памяти.

✅ Решение: Используйте -=, чтобы отписаться от события:
eventHandler.SomeEvent -= MyEventHandler;


2️⃣ Освобождайте неуправляемые ресурсы

Подключения к БД, файлы и сокеты могут не освобождаться автоматически.

✅ Решение: Реализуйте IDisposable
class MyClass : IDisposable {
public void Dispose() {
// Очистка ресурсов
}
}


Используйте using, чтобы автоматически вызвать Dispose():
using (var obj = new MyClass()) { /* работа с объектом */ }


3️⃣ Следите за статическими ссылками

Статические переменные хранят объекты в памяти на весь срок работы приложения.

✅ Решение: Используйте WeakReference, если объект не должен жить вечно:
WeakReference<MyObject> weakRef = new WeakReference<MyObject>(new MyObject());


4️⃣ Разрывайте циклические ссылки

Если два объекта ссылаются друг на друга, сборщик мусора не сможет их удалить.

✅ Решение: используйте WeakReference или GC.Collect() .

🐸Библиотека шарписта #буст
  • 🤔 13
  • 👍 12
  • 😁 2
  • 💯 2
  • 🌚 1
More from @csharpproglib
  1. Oct 7, 2026Альфа-Банк ищет скиллового коллегу QA Fullstack на C# Полная удалёнка или гибрид в Москве,…
  2. Sep 30, 2026📝 Логирование со строковой интерполяцией Логирование c интерполяцией строк один из самых…
  3. Sep 28, 2026👨‍💻 Не показывайте технические ошибки пользователям Когда приложение падает с необработа…
  4. Sep 26, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
  5. Sep 25, 2026🔐 NuGet: Microsoft меняет сертификат подписи С 23 сентября Microsoft использует новый сер…
  6. Sep 24, 2026🤩 Как поймать зависший .NET-сервис Приложение начинает тормозить, запросы зависают, а в л…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →