我正在开发一个企业级项目,JavaFX 8被选为该项目的前端技术。目标平台是基于Windows的平板电脑,因此性能更可能是一个问题。
应用程序由几十个屏幕(基本上是表单)组成,并决定将GUI描述拆分为无数的FXML文件,采用一种基于组件的方法(屏幕内的一些子窗格)将在他们自己的fxml中定义)。 Spring也用于插入所述组件内的控制器和服务。
主要问题是,现在,在启动时加载了200多个fxml(对于客户端应用程序),这需要大约20秒才能完成......这有点太明显了:(
我已经排除了Spring开销作为罪魁祸首(我们有一个Spring感知FXMLLoader
实现,但大部分时间都花在load
方法中。
我想知道这是否是正确的方法......在加载太多FXML文件时是否存在“可扩展性”问题?在JavaFX应用程序中尝试加载/缩小fxml的fxml数量的建议限制?
欢迎针对此性能问题提供任何提示或类似情况的反馈!谢谢。
答案 0 :(得分:2)
尝试在启动时仅将您想要显示的部分加载到用户。
另请注意您在此处找到的效果问题:https://javafx-jira.kenai.com/secure/Dashboard.jspa
另请注意将FXML文件编译为.class文件的功能请求(尚未实现):https://javafx-jira.kenai.com/browse/RT-23527