关闭JavaFX选项卡不会释放内存

时间:2014-07-16 11:57:57

标签: java memory memory-management memory-leaks javafx

我昨天发布了一个关于在删除标签(JavaFX GUI doesn't release memory)时释放内存的类似问题。事实证明我在动作监听器中持有一个引用。今天我一直试图用Tab控件做类似的事情,这次我没有添加任何听众,因为它们内置于JavaFX控件中。

当关闭Tab时,堆仍然包含Tab实例及其内部类。我可以做些什么来释放内存,还是JavaFX中的一个错误?

public class TabTest extends Application {

    @Override
    public void start(Stage primaryStage) {

        final TabPane tabPane = new TabPane();
        tabPane.getTabs().add(new Tab());
        tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.SELECTED_TAB);

        //create scene and stage
        Scene scene = new Scene(tabPane);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

1 个答案:

答案 0 :(得分:0)

似乎这是一个错误,应该在Java 8u20中修复(请参阅此处的可用性:http://openjdk.java.net/projects/jdk8u/releases/8u20.html):https://javafx-jira.kenai.com/browse/RT-25652