创建多个场景时JavaFX 2.0内存泄漏

Jav*_*ier 5 garbage-collection memory-leaks javafx

我创建了一个引发内存泄漏的示例应用程序.

问题是我需要"重新加载"场景.如果我有两个场景(Bar和Foo),每个场景一个按钮(ButtonBar和ButtonFoo),按钮会改变当前场景,创建一个新场景.如果我继续单击ButtonBar和ButtonFoo 5分钟(或更短),那么该简单程序的内存消耗会越来越高.

Bar.java

public class Bar implements Initializable {

@FXML
private Label label;

@FXML
private void toFoo(ActionEvent event) {
    try {
        Button button = (Button) event.getSource();
        Parent root = FXMLLoader.load(getClass().getResource("Foo.fxml"));
        Stage currentStage = (Stage) button.getScene().getWindow();
        currentStage.setScene(new Scene(root));
    } catch (IOException ex) {
        Logger.getLogger(Bar.class.getName()).log(Level.SEVERE, null, ex);
    }
}

@Override
public void initialize(URL url, ResourceBundle rb) {
    // TODO
}    
}
Run Code Online (Sandbox Code Playgroud)

Foo.java与更改de fxml加载相同.

fxml只包含一个按钮:

<Button id="buttonBar" layoutX="126" layoutY="90" text="Bar!" onAction="#toFoo" fx:id="buttonBar" />
Run Code Online (Sandbox Code Playgroud)

是否存在真正的内存泄漏问题?有谁知道另一种方法吗?我希望这个应用程序能够保持活力并永远地进行更改,就像服务一样.谢谢

mat*_*uno 1

我也有类似的问题。

当我将鼠标移动到场景上时。内存使用量不断增加且从未下降。

我相信这与鼠标事件有关。

祝你好运!