1

作为一般规则,具有多个部分的程序应该在启动时创建所有内容,还是应该在实际需要时等待创建每个部分?

我的具体案例是一个具有多个不同部分的 Java 信息​​亭式应用程序。每个部分都是执行特定任务的不同 JPanel(具有不同的按钮 / JTables / JLabels / 等)。这是一个我有一段时间没有接触过的未完成项目,但我将完成它,我正在查看代码并尝试重构我认为我应该做的事情。

到目前为止,该程序在启动时创建了每一个 JPanel,因此每当用户单击更改显示 JPanel 的按钮之一时,它会立即加载,因为它已经创建。到目前为止,我认为这在性能方面并不重要,但我想知道在这种情况下什么是标准做法。

4

3 回答 3

2

不会在启动时全部加载,因为它可能会使启动缓慢,并且还加载了一些不需要的面板。例如,您有 4 个面板加载联系人、关于、图片和提要。假设您在启动时加载了所有 4 个,如果用户只访问了其中 2 个然后关闭应用程序会怎样。有时用户可能只想看到一个面板,但他必须等待所有面板在启动时加载。所以我会建议根据需要加载面板。仅在框架上加载主要数据,然后当用户第一次单击加载面板的按钮时,显示进度条,直到加载该面板,然后从下一次单击按钮时开始显示面板而无需等待它已经通过第一次单击加载。

如果您的应用程序从 Internet 获取数据,那么在启动时加载所有数据也将花费额外的带宽和数据费用。

于 2012-06-11T07:28:52.087 回答
1

这取决于您的项目需要。

如果响应时间对最终用户很重要,那么您的方法是正确的。

否则按需创建 jpanel

于 2012-06-11T07:27:48.967 回答
1

我认为这在很大程度上取决于创建它的成本JPanel。如果它包含一个JTable它接收到的大量信息,例如,通过网络从 MySQL 服务器接收到的信息,那么创建它的成本JPanel是相当大的。

在这种情况下,我只会在需要时创建它。也许JPanel在程序运行时永远不需要它,那么为什么要花费所有时间和资源来创建它呢?

于 2012-06-11T07:28:52.580 回答