窗口大小调整操作的JavaFX内存消耗

时间:2015-03-07 15:15:44

标签: java javafx

我的代码可以创建没有任何功能的简单窗口。 程序启动后:进程资源管理器说它消耗了大约50Mb内存。 但是当用户通过拖动边框开始调整窗口大小时,消耗会迅速增长(最高500Mb)。停止调整大小后,消耗量不会减少。

这种行为的原因是什么?

// sample
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class MainApp extends Application{
    @Override
    public void start(Stage stage) throws Exception {
        BorderPane borderPane = new BorderPane();
        Scene scene = new Scene(borderPane, 300, 300);

        stage.setTitle("Leak");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

1 个答案:

答案 0 :(得分:0)

欢迎来到垃圾收集完成的java世界。至少在您使用默认值的所有情况下。调整窗口大小会触发一些事件,javafx上会有很多事情发生,所以不要太担心它。有疑问,你可以启动java的探查器,为了好玩,你可以看一下使用调试的所有花哨的东西。