我昨天发布了一个关于在删除标签时释放内存的类似问题(JavaFX GUI doesn't release memory)。原来我在一个 Action 监听器中持有一个引用。今天我一直在尝试用 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);
}
}
最佳答案
这似乎是一个错误,应该在 Java 8u20 中修复(参见此处的可用性:http://openjdk.java.net/projects/jdk8u/releases/8u20.html):https://javafx-jira.kenai.com/browse/RT-25652
关于java - 关闭 JavaFX 选项卡不会释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780226/