Я пытаюсь написать приложение, которое показывает слайд-шоу с картинкой.
Загрузка нового изображения приводит к тому, что приложению в какой-то момент не хватает памяти. Несмотря на то, что я избавляюсь от старых образов и запускаю GC вручную. Task Explorer показывает использование 10 МБ.
Сначала я увидел увеличение оперативной памяти без функции удаления. Включая утилиту, сохранял постоянную памяти, но все равно выбрасывал исключение нехватки памяти в некоторый момент.
Мой код для загрузки следующего изображения и удаления старого.
Мне нужно было включить Application.DoEvents (), потому что поток пользовательского интерфейса не обновлялся
PictureBox.Image.Dispose();
PictureBox.Image = Image.FromFile(currentfolder.ImageList[currentindex]);
Application.DoEvents();
currentindex++;
GC.Collect();
Я не вижу причин, по которым мне не хватает памяти. Моя система имеет 8 ГБ и использует 57% в режиме ожидания.