在我的Swing应用程序中,我有第一次创建Swing窗体的新实例时需要几百毫秒的问题。这不是很长,但是变慢的主观印象确实令人讨厌。如何减少Java Swing窗体的感知加载时间?
它发生在所有形式,甚至JOptionPane
消息或其他琐碎的形式。 (当然更大的表单需要更长的时间,因为更复杂的构造函数)
现在我注意到第二次创建一个新的表单实例是显着更快。
由于最初的启动时间并不重要,我打算在启动时创建所有重要表单的不可见实例,但对我来说这看起来很脏。 (我不知道它甚至会工作)
我的问题:
- 有没有更优雅的方式来加快表单的创建和显示?
- 第一次显示表单时发生了什么,第二次没有发生?
是的,你对垃圾收集是正确的。我将最小堆大小设置为100 MB,并且(主观)速度提升非常惊人。 –