窗口大小调整操作的JavaFX内存消耗
我有代码,使简单的窗口没有任何功能。 程序启动后:process explorer说它消耗了约50Mb的ram。 但当用户开始通过拖动边框来调整窗口大小时,消耗量会迅速增加(高达500Mb)。停止调整尺寸后,消耗量不会减少 这种行为的原因是什么窗口大小调整操作的JavaFX内存消耗,java,javafx,Java,Javafx,我有代码,使简单的窗口没有任何功能。 程序启动后:process explorer说它消耗了约50Mb的ram。 但当用户开始通过拖动边框来调整窗口大小时,消耗量会迅速增加(高达500Mb)。停止调整尺寸后,消耗量不会减少 这种行为的原因是什么 // sample import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javaf
// 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);
}
}
欢迎来到java世界,垃圾收集在java世界中完成。至少在使用默认值的所有情况下。调整窗口的大小会引发一些事件,javafx上有很多事情,所以不用太担心。毫无疑问,您可以启动java的探查器,为了好玩,您可以使用调试查看所有正在进行的奇特工作。您可以通过请求垃圾收集来确认它是否泄漏。例如,在UI中添加一个按钮,当单击该按钮时,该按钮将运行
System.gc()
,然后查看内存消耗情况。或者,使用VisualVM在运行的VM上请求垃圾收集。VisualVM可能作为Java发行版的一部分安装在您的系统上。