- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在从事一个企业级项目,在该项目中选择 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/
我是一名优秀的程序员,十分优秀!