"Системная нехватка памяти" при попытке загрузить изображения в datagridview (VB Net)

Мне нужно загрузить около 70-100 изображений в datagridview (DatagridviewImageColumn), и я могу это сделать, но загружаю только 33, а затем я получаю: "Исключение системы из памяти" Memoria insficiente.

Изображения имеют высокое разрешение (1600х2700). Мой код:

 If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
     For Each Documento As String In My.Computer.FileSystem.GetFiles(FolderBrowserDialog1.SelectedPath, FileIO.SearchOption.SearchTopLevelOnly)
         *Dim imagen As Image = Image.FromFile(Documento)
          DataGridView1.Rows(a).Cells(0).value = imagen
          a = a + 1
     Next
 End If

Ошибка указывает на строку с (*)

Я также пытался с задержками (Threading.Thread.Sleep(3500)) и через таймер с интервалом 3500, но я все еще получаю ту же ошибку.

Что я могу сделать?

Благодарю.

1 ответ

Я нашел ответ.

Вместо того, чтобы загружать изображения в datagridview, я использовал только их имена, а для их обработки, используя FOR, я использовал Timer и эти строки:

  GC.Collect()
  GC.WaitForPendingFinalizers()

В конце каждой итерации и это решает проблему.

Другие вопросы по тегам