带有 ProgressBar 或 ProgressIndicator 的简单 JavaFX 应用程序的 Java 进度设置为 -1 (INDETERMINATE_PROGRESS) 逐渐使用越来越多的内存,直到它在几分钟内填满 ram 和 swap。
我正在使用带有最新更新的 Fedora 23 x86_64,kernel-4.4.5-300.fc23.x86_64 和 jdk1.8.0_74。kernel-4.2.3-300.fc23.x86_64 以及 jdk1.8.0_73 和 jdk1.8.0_45 都会出现同样的问题。
我在我的项目中遇到了这个问题,即使在最简单的应用程序中也会出现:
package sample;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ProgressIndicator;
import javafx.stage.Stage;
public class ProgressBarMemoryLeak extends Application {
ProgressIndicator progress = new ProgressIndicator(-1);
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(progress, 100, 100));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
有没有办法克服这个问题?
也许我可以使用其他一些自定义 ProgressBar 实现?