9 Stimmen

Tabelle NewRow() verursacht ein Speicherleck

Bei der Untersuchung eines Speicherlecks entdeckte ich, dass es durch den mehrmaligen Aufruf von NewRow() für eine Tabelle innerhalb einer Schleife verursacht wurde. Die erstellte Datenzeile wurde jedoch nie zur Sammlung der Tabellenzeilen hinzugefügt, und die Anzahl der Tabellenzeilen überstieg nie den Wert Null.

Meine Frage ist, warum dies mehr Speicher jedes Mal verwenden, wenn NewRow aufgerufen wird, obwohl die neu erstellte DataRow nie der Rows-Auflistung hinzugefügt wird und die DataRow von NewRow zurückgegeben wird immer die gleiche lokale Variable zugewiesen (wodurch offenbar die letzte neue Zeile verworfen).

Bitte ignorieren Sie die Frage, warum der Code DataRows erzeugt, die nicht in die Tabelle eingefügt werden!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X