我在javaFX示例Ensemble.jar中经常发现切换页面时,内存会越高越高,无法释放。这也发生在我的项目中。 这是javaFX的错误吗?现在我们的测试人员总是在抱怨这个问题。
有什么好方法可以解决这个问题吗?我们可以在javaFX中的“内存释放”中做些什么?
要解决这个问题,我们做了什么:
但效果不是那么清楚,谁可以帮助我们?
答案 0 :(得分:1)
这不是JavaFX中的错误。
我猜你的内存泄漏来自于在属性上使用侦听器。
JavaFX使用Properties作为观察者模式的实现。将ChangeListener添加到属性时,实际上是在属性对象中添加对侦听器的引用。如果您不调用RemoveListener method来删除此引用,则只要属性对象本身不是垃圾回收,您的侦听器就不会被垃圾回收。
我不知道你的代码是什么样的,但我可以做一些假设:
如果将Listeners添加到Properties,请尝试调用removeListener方法并查看它是否解决了问题。
此致
西里尔