带有 ProgressBar 或 ProgressIndicator 的简单 JavaFX 应用程序的 Java 进度设置为 -1 (INDETERMINATE_PROGRESS) 逐渐使用越来越多的内存,直到它在短短几分钟内填满 ram 和交换区。
我正在使用具有最新更新的 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 实现?
最佳答案
记录此类问题的错误报告:
添加对此处提交的错误报告的引用,以便有人遇到此问题时可以跟踪它。
与此同时,不要在目标平台上使用不确定的进度。
请注意,无论问题是什么,它都是特定于环境的(我无法在 OS X 上复制它)。
另请注意,fedora 不是 certified system configuration ,但希望这不会阻止正在调查的错误报告。
关于linux - Linux 上进程=-1 内存泄漏的 JavaFX 8 进度条和进度指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36101415/