Short
Das Ziel einer kurzen schwachen Referenz wird null, wenn das Objekt von der Garbage Collection freigegeben wird. Die schwache Referenz ist selbst ein verwaltetes Objekt und unterliegt der Garbage Collection genau wie jedes andere verwaltete Objekt. Eine kurze schwache Referenz ist der Standard Konstruktor für WeakReference.
Lange
Eine lange schwache Referenz nach der Finalisierung Methode des Objekts beibehalten wird genannt worden ist. Dadurch kann das Objekt neu erstellt werden, aber der Zustand des Objekts bleibt unvorhersehbar. Um eine lange Referenz zu verwenden, geben Sie true im WeakReference-Konstruktor an.
Wenn der Typ des Objekts keine Finalize-Methode haben, die kurze schwache Referenz Funktionalität gilt und die schwache Referenz gilt nur , bis das Ziel gesammelt wird, die jederzeit auftreten können, nachdem die Finalizerthread ausgeführt wird.
Um eine starke Referenz zu erstellen und das Objekt erneut zu verwenden, übergeben Sie die Target-Eigenschaft eines WeakReference an den Objekttyp. Wenn die Target-Eigenschaft null zurückgibt, wurde das Objekt gesammelt. Andernfalls können Sie weiterhin das Objekt verwenden, da die Anwendung einen starken Verweis darauf zurückgewonnen hat.
Richtlinien für die Verwendung schwache Verweise
Verwenden lange schwache Verweise nur bei Bedarf, wie sich der Zustand des Objekts unvorhersehbar nach Finalisierung ist. Vermeiden Sie schwache Referenzen auf kleine Objekte, da der Zeiger selbst so groß sein kann oder größer.
Vermeiden Sie schwache Referenzen als automatische Lösung für Speicher Management-Probleme. Entwickeln Sie stattdessen eine effektive Caching-Richtlinie für , die die Objekte Ihrer Anwendung behandelt.
es ist gut hier erklärt: http://stackoverflow.com/questions/310685/weak-references –