Приложению не хватает памяти, несмотря на сборку мусора и использование только 10 МБ ОЗУ Windows Forms - PullRequest
1 голос
/ 09 июня 2019

Я пытаюсь написать приложение, которое показывает слайд-шоу с картинкой. Загрузка нового изображения приводит к тому, что приложению в какой-то момент не хватает памяти. Несмотря на то, что я избавляюсь от старых образов и запускаю GC вручную. Task Explorer показывает использование 10 МБ.

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

Мой код для загрузки следующего изображения и удаления старого. Мне нужно было включить Application.DoEvents (), потому что поток пользовательского интерфейса не обновлялся

PictureBox.Image.Dispose();
PictureBox.Image = Image.FromFile(currentfolder.ImageList[currentindex]);
Application.DoEvents();
currentindex++;
GC.Collect();

Я не вижу причин, по которым мне не хватает памяти. Моя система имеет 8 ГБ и использует 57% в режиме ожидания.

1 Ответ

1 голос
/ 11 июня 2019

Спасибо большое.Проблема на самом деле заключалась в том, что у меня были элементы в списке, которые не были изображениями.Исключение из памяти действительно смутило меня.Спасибо steve16351 и другим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...