Użycie MemoryStream prowadzi do wyjątku pamięci
Mam problemy z wielokrotnym używaniem MemoryStream.
Przykład:
For Each XImage As XImage In pdfDocument.Pages(pageCount).Resources.Images
Dim imageStream As New MemoryStream()
XImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg)
' some further processing
imageStream.Close()
imageStream.Dispose()
Next
Ten fragment kodu cyklicznie przegląda obrazy na stronie pliku PDF. Plik może mieć do 500 stron, powiedzmy 5 obrazów na każdej stronie. Prowadzi do tysięcy iteracji. Problem polega na tym, że MemoryStream nie jest zwolniony i prowadzi do wyjątków Out of Memory. XImage ma zwykle około 250 kB.
Używam biblioteki Aspose.PDF tutaj do pracy z PDF (XImage to klasa z tej biblioteki), ale to nie ma znaczenia. Próbowałem stworzyć prosty przykład, w którym po prostu tworzę nowy MemoryStream i zapisuję do niego atrapę bitmapy. Prowadzi do tych samych problemów.
Próbowałem też użyć FileStream zamiast MemoryStream, ale zachowuje się tak samo.
Każda pomoc doceniana.
Dzięki
Jiri