2

带有 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 实现?

4

1 回答 1

1

记录此类问题的错误报告:

添加对此处提交的错误报告的引用,以便有人在遇到此问题时可以跟踪它。

同时,不要在目标平台上使用不确定的进度。

请注意,无论问题是什么,它都是特定于环境的(我无法在 OS X 上复制它)。

另请注意,fedora 不是经过认证的系统配置,但希望这不会阻止正在调查的错误报告。

于 2016-03-20T12:14:31.050 回答