Eine schwache Referenz ist eine Referenz, die das referenzierte Objekt nicht vor der Sammlung durch einen Garbage Collector schützt. Schwache Referenzen werden in Bereichen wie dem Caching verwendet, wo Sie einen Verweis auf ein Objekt für die Wiederverwendung behalten möchten, es dem System jedoch erlauben, es zurückzufordern, wenn der Speicher knapp wird. Einige müllsammelbare Sprachen bieten oder unterstützen verschiedene Ebenen von schwachen Referenzen, wie Java, C #, Python, Perl und Lisp.
Der folgende Code erstellt eine unendliche Struktur und erstellt gleichzeitig einen Cache für alle Teilbäume, sodass keine doppelten Teilbäume erstellt werden. Die Begründung für die Eliminierung von doppelten Teilbäumen kommt von der Anwendung,...
12.05.2016, 10:28
Ich habe eine Klasse in swift, die einen schwachen Zeiger auf ein Array von Objekten haben muss, das in einer anderen Klasse zugewiesen ist. Ich habe
%Vor%
Der Fehler, den ich bekomme, ist
'weak' kann nicht auf den Nicht-Klassen-Typ '[...
15.05.2015, 00:53
Ich weiß das mit einem WeakReference , wenn ich WeakReference zu etwas mache, das, wenn nicht direkt darauf Bezug genommen wird, Garbage Collection mit dem nächsten GC-Zyklus ist. Meine Frage wird, was ist, wenn ich ein ArrayList von We...
21.03.2014, 09:52
Ich habe an verschiedenen Stellen eine Methode namens "cancelAllPendingDownloads"
Dies ist eine allgemeine Methode, die verschiedene Jobs abbricht und interne Zähler aktualisiert.
Problem tritt auf, wenn es innerhalb der Dealloc-Methode aufg...
11.11.2013, 13:30
Betrachten Sie diesen Code:
%Vor%
Es ist möglich, dass GC.Collect nach der Überprüfung von weakRef.IsAlive und vor der Verwendung von weakRef.Target ausgeführt wird.
Verstehe ich damit falsch? Wenn es möglich ist, gibt es einen s...
13.02.2013, 15:15
Was passiert mit der WeakReference, wenn das von WeakReference.Target referenzierte Zielobjekt als Garbage Collection erfasst wurde? Bleibt die WeakRerence am Leben und bleibt bestehen?
Der Grund, warum ich frage, ist, dass ich eine Liste von We...
28.11.2009, 20:44
Ich habe viele Artikel gelesen, aber ich verstehe nicht - wo muss ich in der Praxis Schwach- und Phantomreferenzen verwenden? Soft-Referenzen - ist eine gute Wahl für den Cache, wie ich es verstehe. Aber schwach und Phantom, ich weiß nicht wann...
09.07.2012, 14:49
Gibt es in C # /. NET eine Möglichkeit, eine Benachrichtigung zu erhalten, bevor das Objekt, auf das eine schwache Referenz verweist, zerstört wird? Grundsätzlich möchte ich erlauben, dass ein Objekt gesammelt wird, aber mache etwas, bevor das O...
17.07.2009, 20:29
Ich baue eine Android-App, bei der jede Entität eine Bitmap hat, die ihr Sprite repräsentiert. Jede Entität kann jedoch dupliziert werden (z. B. 3 Kopien von Entität asdf).
Ein Ansatz besteht darin, alle Sprites im Voraus zu laden und dann da...
15.12.2012, 03:36
Ich muss einige Daten für die Lebensdauer mit einem Schlüssel verknüpfen, daher verwende ich WeakHashMap . Zusätzlich muss ich einen Schlüssel durch den entsprechenden Wert erhalten. Der einfachste Weg ist, die Referenz beizubehalten, wenn Sie...
08.11.2011, 14:28