当我运行JavaFX程序时,窗口的第一次出现需要花费太多的时间-- ~700 ms。这是一个明显的延迟。
JavaFX能加载得更快吗?
我有:
我有一个由Maven原型org.openjfx:javafx-archetype-simple:0.0.3
创建的简单的org.openjfx:javafx-archetype-simple:0.0.3
项目。我只在PSVM中添加了一个额外的类,该类调用扩展Application
类的类的PSVM:
public class MainLauncher {
public static void main(String... args) {
System.out.println("MainLauncher...");
App.main(args);
}
}
public class App extends Application {
@Override
public void start(Stage stage) {...}
public static void main(String[] args) {
System.out.println("App...");
Application.launch();
}
}
MainLauncher
是用maven-shade-plugin
创建uber-JAR所必需的。
我已经使用屏幕记录(60 FPS)来检查应用程序启动所需的时间。
当我运行java -jar app.jar
或java -p ${JARS_AND_FOLDER_WITH_CLASSES} -m com.company/com.company.MainLauncher
时,换句话说--当我运行MainLauncher
类时,我得到:
当我运行App
类时,它的行为有点不同,但是总时间是一样的。在本例中,稍后我在控制台中看到日志"App...
“:
发布于 2019-11-11 14:40:29
有了最新版本的Java,一些加速可能是可能的。关键是应用程序类数据共享。应用程序类数据共享可以通过java命令的命令行参数来激活它。基本上,它将所有初始化数据存储在某个地方,当应用程序第二次启动时,可以跳过整个初始化过程。
https://stackoverflow.com/questions/58799775
复制相似问题