我们正在使用 vaadin 6.8 开发一个工具。如果我们将它与本地服务器一起使用,则加载时间没有问题。但是,如果我将它连接到实时服务器,则时间会有很大差异。即使在工具中的两个选项卡之间切换也需要很长时间。任何帮助可能是可取的?
谢谢,维姬
我们正在使用 vaadin 6.8 开发一个工具。如果我们将它与本地服务器一起使用,则加载时间没有问题。但是,如果我将它连接到实时服务器,则时间会有很大差异。即使在工具中的两个选项卡之间切换也需要很长时间。任何帮助可能是可取的?
谢谢,维姬
我在使用 Vaadin 6 时遇到过同样的问题,当用户登录到应用程序的欢迎屏幕时,我使用主应用程序构造函数加载了整个应用程序。我的解决方案是停止在它自己的应用程序承包商中构建所有选项卡,并且仅在单击每个选项卡时加载/构造其他选项卡。因此应用程序的内存占用和加载时间变得更小,并且应用程序仅在用户需要查看屏幕时才加载屏幕。但这仅适用于具有大量选项卡/屏幕和组件的 Vaadin 应用程序。
welcome.addListener(new TabSheet.SelectedTabChangeListener() {
public void selectedTabChange(SelectedTabChangeEvent event) {
// build tab here on event
另外,请注意使用 Vaading 进行应用程序开发的一个缺点是它会增加网络流量,这在外部/实时服务器上将是一个关键因素,因此当您添加大量事件以触发组件时请记住这一点。
此外,更好地检查在事件触发器上加载了多少组件,以及更好地检查除 UI 之外的编码,因为后端方法的速度可能会影响 UI 的加载,例如,在上传到实时服务器时缺少数据库索引,还添加行以从 UI 加载方法中提取加载时间,如下所示,
long starttime = System.currentTimeMillis();
// then your code lines of the application or tab build
....
// get the execution time from start to end
System.out.println("took time-->" + System.currentTimeMillis() - starttime );
这样您就可以了解该方法的加载/处理时间。如果加载时间很长,很可能不是 UI 变慢了。