Hallo,
in meiner vb.net Anwendung binde ich eine externe c# .DLL ein, die mit großen Datenmengen arbeitet - teilweise zieht sie sich die aus dem Internet.
Ich musste leider feststellen, dass irgendwo in dieser Bibliothek ein Memory Leak ist, der mir eine OutOfMemoryException beschert, wenn ich nur oft genug die Funktion der Bibliothek nutze.
Die öffentlichen Klassen/Methoden dieser DLL liefern zwar eine art Dispose()-Funktion (.clear()), allerdings scheint diese nicht sauber den Speicher freizugeben.
Warum bin ich mir sicher, dass das Problem nicht in meiner Anwendung liegt, bzw. dem Umgang mit der Bibliothek? - Weil bereits dieser einfache Testcode die Exception auslöst:
Das läuft dann so geschätzte 15 mal und dann erhalte ich die OOM Ecxeption.
Da ich nun nicht den Sourcecode der DLL besitze: Gibt es eine Möglichkeit in meiner Anwendung dafür zu sorgen, dass der Speicher auch wirklich freigegeben wird?
Vielen Dank und Grüße,
in meiner vb.net Anwendung binde ich eine externe c# .DLL ein, die mit großen Datenmengen arbeitet - teilweise zieht sie sich die aus dem Internet.
Ich musste leider feststellen, dass irgendwo in dieser Bibliothek ein Memory Leak ist, der mir eine OutOfMemoryException beschert, wenn ich nur oft genug die Funktion der Bibliothek nutze.
Die öffentlichen Klassen/Methoden dieser DLL liefern zwar eine art Dispose()-Funktion (.clear()), allerdings scheint diese nicht sauber den Speicher freizugeben.
Warum bin ich mir sicher, dass das Problem nicht in meiner Anwendung liegt, bzw. dem Umgang mit der Bibliothek? - Weil bereits dieser einfache Testcode die Exception auslöst:
Das läuft dann so geschätzte 15 mal und dann erhalte ich die OOM Ecxeption.
Da ich nun nicht den Sourcecode der DLL besitze: Gibt es eine Möglichkeit in meiner Anwendung dafür zu sorgen, dass der Speicher auch wirklich freigegeben wird?
Vielen Dank und Grüße,