java - 如何将 JavaFX GUI 拆分为具有良好性能的 fxml 文件?

标签 java javafx fxml

我正在从事一个企业级项目,在该项目中选择 JavaFX 8 作为前端技术。目标平台是基于 Windows 的平板电脑,因此性能更可能是一个问题。

该应用程序由数十个屏幕(本质上是表单)组成,并且决定以一种基于组件的方法(屏幕内的一些子 Pane )将 GUI 描述拆分为无数的 FXML 文件例如将在他们自己的 fxml 中定义)。 Spring 还用于将 Controller 和服务插入到所述组件中。

主要问题是,现在,200 多个 fxml 在启动时被加载(对于客户端应用程序),并且需要大约 20 秒才能完成……这有点太明显了:(

我已经排除了 Spring 开销是罪魁祸首(我们有一个 Spring 感知的 FXMLLoader 实现,但大部分时间都花在了 load 方法中)。

我想知道这是否是正确的方法...加载太多 FXML 文件是否存在“可扩展性”问题?在 JavaFX 应用程序中尝试加载的 fxml 数量/fxml 粒度的建议限制?

欢迎针对此性能问题提供任何提示或类似情况的反馈!谢谢。

最佳答案

尝试只加载你真正想要在启动时显示给用户的部分。

另请报告您在此处发现的性能问题:https://javafx-jira.kenai.com/secure/Dashboard.jspa

另请注意将 FXML 文件编译为 .class 文件的功能请求(尚未实现):https://javafx-jira.kenai.com/browse/RT-23527

关于java - 如何将 JavaFX GUI 拆分为具有良好性能的 fxml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224282/

相关文章:

JavaFX - 如何在锚定 Pane 中添加容器

java - 为 www.example.com 而不是 example.com 设置 cookie

java - 比较字符串与冒泡排序算法

java - Intellij IDEA 中的变量提取到var

java - 警报类型无关闭 javafx

java - 在测试期间模拟鼠标点击。 JUnit,JavaFX

java - 等到线程列表结束

JavaFX fxml 加载器无法正常工作

javafx - 如何在窗口最大化时自动调整 JavaFX 容器的大小?

java - 如何序列化一个包含 ObservableList 的对象?