在组件对象需要可见时创建还是在之前创建更高效?

问题描述 投票:0回答:1

为了进一步阐述,这里有一个例子:

我有一个 JPanel,它将容纳其他组件,并且仅在单击某个按钮后才会出现。 为了提高效率,是只在单击按钮时创建对象并将其添加到框架中,还是在单击按钮之前将面板添加到框架中并使用 setVisible(false) 隐藏它,然后在单击按钮时将其设置为可见按钮被点击?

我认为每种方式都有自己的优点和缺点,但我想知道哪种方式更高效、更安全、性能最好。

谢谢!

我开始使用第二种方法,即添加面板并在开始时将可见性设置为 false,但我不确定这是否是一种有效或良好的做法。

java swing jframe jpanel
1个回答
0
投票

更高效、更安全、表现最好

这些都是模糊的术语。如果您想要具体的答案,您需要更具体。

优点和缺点

关于 GUI 小部件的实例化……

  • 急于实例化使用更多的 CPU,这可能会减慢人类用户当前用户界面的外观或响应速度。如果您将急切的初始化分拆到另一个线程,尤其是在多核机器上,则可以避免速度变慢。
  • 急切实例化使用更多内存。除了用于当前用户界面的内存之外,您还将使用所有尚未显示的小部件的内存。在多gig机器上,尤其是具有提供复杂虚拟内存OS时,此内存使用量可能微不足道。
  • 当用户触发已实例化的用户界面元素的显示时,急切的实例化将明显提高响应能力。您消除了初始化所需的时间,让用户只需等待这些用户界面元素在屏幕上渲染所需的时间。
© www.soinside.com 2019 - 2024. All rights reserved.