Ich verstehe, dass, wenn ein Objekt zu einer Liste hinzugefügt wird, behält die Liste einen Verweis auf das Objekt basierend auf Antwort von dieser Frage Is this java Object eligible for garbage collection in ListWie mache ich ein Objekt in der Liste für die Garbage Collection geeignet?
Wie dann wie Sie das Objekt in der Liste, die für die Garbage Collection machen so dass es aus dem Heap entfernt wird und keinen Speicher belegt?
Ich frage, weil eine Vbox getChildren Methode in JavaFX beobachtbare Liste zurückgibt, die die Kinder Knoten der Vbox enthält. Wenn ein UI-Element entfernt wird, aber nicht für die Garbage Collection geeignet ist, befindet sich dieses Objekt weiterhin auf dem Heapspeicher?
Ein Artikel wird nur dann für GC verfügbar, wenn kein anderer Artikel darauf verweist. Wenn es in der Liste ist, kann es daher nicht GC'ed sein. Nur wenn es aus der Liste entfernt wird, ist es berechtigt – jr593
Was meinen Sie mit "Wenn ein UI-Element entfernt wird, aber immer noch nicht für die Garbage Collection geeignet ist?" Der einzige Weg, der passiert, ist, wenn es irgendwo andere Referenzen auf das Element gibt. Sobald Sie sie aus der Liste entfernen, enthält die Liste keine Verweise darauf. Wenn Sie also keine anderen Verweise darauf beibehalten, ist die Garbage Collection möglich. –