我意识到我的项目使用了很多 JavaFXChangeListeners来跟踪某些条件。
我很确定在使用 with 时侦听器不会被垃圾收集property.addListener(ChangeListener),但是如果我将我的侦听器置于 lambda 形式而不是首先声明它们,它们仍然不会被垃圾收集吗?
例子:
field.focusedProperty().addListener((obs, oldVal, newVal) -> {
// Do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
附带说明一下,当我关闭程序时,所有侦听器都会被清除还是继续存在?