ich eine LinkedHashMap
wie so haben entfernt wird:Wie Hörer von LinkedHashMap Objekte zu entfernen, wenn der Schlüssel
private LinkedHashMap<String, Column> columns = new LinkedHashMap<>();
Und ich ein Column
hinzufügen:
columns.put(name, column);
Wo ein Column
hat ein Objekt mit Zuhörern.
Wenn ich die Spalte entfernen :
columns.remove(name);
Die Zuhörer sind noch aktiv.
Ich habe versucht, die WeakHashMap
und das half in der Tat und die Hörer waren nicht mehr aktiv.
Aber WeakHashMap
behält die Reihenfolge nicht bei.
Ich habe auch versucht, die Column
setzen Sie es auf null und dann entfernen Sie den Schlüssel aus der Karte, aber kein Glück. Hörer waren noch aktiv.
Gibt es einen Vorschlag dafür? Fehle ich etwas?
Sicher, aber ich entferne die Spalten nicht die Zuhörer. Irgendwelche Ideen? Eine Spalte kann einen Listener haben oder nicht. Ich habe versucht, Vanille auf diesem zB entfernenColumn und getan, um zu vermeiden, zuerst die Spalte zu bekommen, dann prüfen, ob es einen Listener hat, entfernen Listener etc. Ich verstehe hauptsächlich nicht, warum das Objekt nicht gc ist –
Ended mit diesem. Hinzufügen von Onstart- und Ondestroy-Lifecycle-Aufrufen –