Sdílet prostřednictvím


Ressourcenverwaltung

Aktualisiert: November 2007

Alle Objekte belegen Systemressourcen, wie Speicher, Dateihandles und Datenbankverbindungen. Die Common Language Runtime (CLR) verwaltet Ressourcen automatisch, d. h., Sie müssen sich normalerweise nicht um die Freigabe von nicht benötigten Objekten kümmern. Wenn Sie jedoch die Funktionsweise der Ressourcenverwaltung verstehen, können Sie Anwendungen effizienter gestalten.

Garbage Collection

Die CLR verwendet für die Verwaltung zugeordneter Ressourcen ein so genanntes Garbage Collection-System. Der Garbage Collector des Systems gibt die Ressourcen eines Objekts frei, wenn dieses nicht mehr von ausgeführtem Code in der Anwendung erreicht werden kann. Der Algorithmus der Garbage Collection ist nicht deterministisch. Daher können Sie nicht bestimmen, wann die CLR die Ressourcen eines Objekts freigibt. In den folgenden Abschnitten werden einige der Änderungen hinsichtlich der Verwaltung von Ressourcen in Visual Basic beschrieben.

Zuordnen von Objekten zu Nothing

Nothing ist ein Schlüsselwort in Visual Basic, mit dem eine Objektvariable, die keinen Verweis auf ein Objekt enthält, gekennzeichnet wird. In früheren Versionen von Visual Basic war es Aufgabe der Benutzer, nicht verwendeten Objekten Nothing zuzuweisen, um die Zuordnung der Objektvariablen zum Objekt aufzuheben und Ressourcen freizugeben. Sie können nicht verwendeten Objekten auch weiterhin Nothing zuweisen, aber aufgrund der Art und Weise, wie Ressourcen in Visual Basic verwaltet werden, gewährleistet dieser Prozess nicht, dass Objekte sofort freigegeben werden. Im Allgemeinen sollten Sie nur langlebigen Objekten, z. B. freigegebenen Membern oder globalen Variablen, Nothing zuweisen.

Dispose

Einige Objekte unterstützen die Dispose-Methode, die Systemressourcen schneller freigibt. Klassen, die die Dispose-Methode unterstützen, müssen die IDisposable-Schnittstelle implementieren. Die Dispose-Methode muss explizit aufgerufen werden, wenn Sie Objektressourcen freigeben möchten. Beispiel:

ThisObject.Dispose()

Finalize

Die Finalize-Methode ist eine weitere Methode, die von einigen Klassen unterstützt wird. Sie wird automatisch ausgeführt, sobald ein Objekt freigegeben wird, und kann auch für andere Bereinigungsaufgaben verwendet werden. Die Finalize-Methode ähnelt der in früheren Versionen von Visual Basic verwendeten Class_Terminate()-Methode. Wenn auf ein Objekt nicht mehr zugegriffen werden kann, ruft die CLR schließlich die Finalize-Methode des Objekts auf. Da der Algorithmus der Garbage Collection nicht deterministisch ist, wird die Finalize-Methode eventuell sofort oder möglicherweise einige Stunden später aufgerufen.

Siehe auch

Konzepte

Objektlebensdauer: Erstellen und Zerstören von Objekten

Initialisierung und Beendigung von Komponenten

Referenz

Nothing (Visual Basic)

Dispose

IDisposable