Итак, я новичок в WPF, и у меня возникают проблемы с тем, что мои окна не освобождают свою память после того, как я открываю их с помощью .Show(). Я в основном хочу открыть немодальный диалог. Что я вижу, так это то, что память увеличивается, когда я открываю новое окно, а затем, когда я закрываю его с помощью кнопки выхода в правом верхнем углу, память никогда не уменьшается. Есть идеи по освобождению памяти?
WPF - window.show () никогда не освобождает свою память?
Ответы (2)
Если вы проверяете с помощью диспетчера задач Windows, хотя память не была освобождена .net, вы обнаружите, что она была освобождена вашим приложением и может быть повторно использована.
Чтобы убедиться, что ваше приложение освобождает память при закрытии приложения, используйте Application.ShutdownMode соответствующим образом.
В настоящее время я использую WPF для своего проекта, и я заметил это в самом начале, а также увидел, что через некоторое время разработки проблема разрешилась сама собой. В основном это происходит при открытии новых форм в приложении, но память должна освобождаться при полном закрытии приложения.
Если Диспетчер задач говорит, что приложение все еще открыто, когда его следует закрыть, значит, одна из форм не была должным образом выпущена...
РЕДАКТИРОВАТЬ для добавления: когда вы вызываете форму для открытия, используйте .Close(), хотя это и не требует пояснений, я никогда не использовал .Close(), и это вызвало эту проблему для меня, но было исправлено, как только я добавил команду.