@darkglare

Каким действием можно освободить память приложения от конкретного экземпляра класса C#?

Каким действием можно освободить память приложения от конкретного экземпляра класса C#? В этом то и вопрос.
  • Вопрос задан
  • 50 просмотров
Решения вопроса 2
petermzg
@petermzg
Самый лучший программист
Только удалением всех ссылок на данный экземляр и вызовом Сборщика Мусора
Ответ написан
@soloveid
GC.Collect() если объект не подвязан никуда.
Указать, что удалить именно заданный объект - нельзя.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vabka Куратор тега C#
Токсичный
В .NET используется автоматическое управление памятью и сборщик мусора.
Разработчик не имеет контроля над тем, как выделяется память в куче и как она освобождается.

Сборщик мусора сам собирает объекты, на которые нигде больше нет ссылок (но конкретный момент времени заранее сложно предсказать)

Можно принудительно стриггерить сборку мусора при помощи GC.Collect(), но учитывайте, что это очень дорогая операция, по тому её нельзя вызывать бездумно
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
Никак. Даже принудительно вызвав сборщик мусора, не факт, что объект будет собран.
Если есть желание порулить памятью вручную https://docs.microsoft.com/ru-ru/dotnet/api/system..., unsafe mode, ну и работа с указателями в стиле С++.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы