免费JavaFX TranslateTransition用于垃圾收集

时间:2016-11-08 16:10:37

标签: java javafx garbage-collection

假设以下代码为无限动画:

private void someMethod() {
    TranslateTransition trans = new TranslateTransition();
    trans.setNode(bgAnim);
    trans.setDuration(new Duration(TimeUnit.SECONDS.toMillis(10)));
    trans.setByX(100);
    trans.setByY(-500);
    trans.setOnFinished(event -> {
        // some code to change direction
        trans.play();
    });
    trans.play();
}

现在我正在更改屏幕,但是setOnFinished代码仍在另一个屏幕中执行(我使用this code来更改我的屏幕)。是不是因为它有一个setOnFinished-Listener而收集了garabe?调用trans.stop()是否允许gc收集它,或者可能是trans = null?

screenController的其他元素(如图像)似乎是垃圾回收。在VisualVM中,当我“垃圾邮件点击”更改屏幕按钮时,我可以看到内存被释放。

0 个答案:

没有答案