Как освободить память после закрытия winform - PullRequest
0 голосов
/ 29 марта 2019

Я использую Ironpython для отображения моих двоичных данных.

Итак, когда я запускаю свою основную форму (wpf) и загружаю данные, мое использование памяти было около 600 МБ, после того, как я открыл окно графика (winform), мое использование памяти возросло до 800 МБ, но после того, как я закрыл Мой график окна, использование памяти по-прежнему 800 МБ, это не меняет. Как я собираюсь освободить использование памяти после закрытия текущей winform?

Я пытался использовать GC.collect после запуска приложения,

и попытался использовать self.disposed в обработчике закрытия окна, все они не работают.

System.Windows.Forms.Application.EnableVisualStyles()
System.Windows.Forms.Application.Run(graph_plot)
System.GC.Collect()
System.GC.WaitForPendingFinalizers()

Событие закрытия окна

def EH_FormClose(self,sender,object):
    self.Dispose(True)

Я ожидаю пересмотреть использование памяти этой winform, чтобы у меня была запасная память для моего следующего графика.

Я не уверен, используется ли память winform или ironpython. но когда я тестирую программу из консоли в Ironpython, память работает, как я и ожидал.

Кроме того, у меня 8 ГБ памяти, но программа выдает исключение памяти, когда программа использует 1,5 ГБ памяти, есть ли способ использовать мою память?

...