Memory leaks 绑定和内存泄漏

Memory leaks 绑定和内存泄漏,memory-leaks,javafx,Memory Leaks,Javafx,问题 示例用例: 我有一个显示状态仪表的控件。仪表的可视状态绑定到控件的属性 该控件是拓扑图的一部分。所以取决于拓扑结构e。G一次可显示100个此类控件 有几种拓扑结构。每次切换到另一个拓扑视图时,将重新生成整个图形 问题 这是否会导致内存泄漏?在创建新拓扑视图之前,是否必须在旧拓扑视图中执行手动解除绑定?与绑定类似,是否必须手动删除事件处理程序 绑定和事件处理程序位于控件内部。因此,一旦控件不再可访问,它就有可能被垃圾收集。所以我想你什么都不用做,但我不知道 非常感谢您的专业知识 如果您查

问题

示例用例:

  • 我有一个显示状态仪表的控件。仪表的可视状态绑定到控件的属性
  • 该控件是拓扑图的一部分。所以取决于拓扑结构e。G一次可显示100个此类控件
  • 有几种拓扑结构。每次切换到另一个拓扑视图时,将重新生成整个图形
问题

这是否会导致内存泄漏?在创建新拓扑视图之前,是否必须在旧拓扑视图中执行手动解除绑定?与绑定类似,是否必须手动删除事件处理程序

绑定和事件处理程序位于控件内部。因此,一旦控件不再可访问,它就有可能被垃圾收集。所以我想你什么都不用做,但我不知道

非常感谢您的专业知识

如果您查看以下内容:

[…]我们实现中的所有绑定都使用WeakInvalidationListener实例,这意味着通常不需要处理绑定。但如果您计划在不支持weakreference的环境中使用应用程序,则必须处理未使用的绑定以避免内存泄漏

因此,如果使用或扩展默认的
绑定
s,垃圾收集器应该能够完成其工作

如果没有,请确保执行并调用

一如既往:如果一个对象不再被任何其他对象引用,它将被垃圾收集(在将来的某个时候)。因此,通常不需要在这个方向上具体实现,因为这会使代码变得混乱