GWT:在开发模式下,代码分割是否有任何影响

时间:2011-11-09 04:21:20

标签: gwt gxt

我已经在很多地方读过,代码分割可以显着加快GWT应用程序的初始加载时间。 但是,在我们进行拆分之前,我们想知道在开发模式下延迟下载代码是否也能正常工作?

目前我们最痛苦的一点是,在使用调试模式的开发模式下,当我们刷新浏览器(刷新客户端代码中的更改)时,应用程序重新加载需要3。7年。 在生产模式下,应用程序将在几秒钟内加载。

4 个答案:

答案 0 :(得分:7)

代码拆分在开发模式下完全没有效果,因为您的应用程序未编译为JavaScript。

当GWT.isScript()为false(开发模式)时,立即运行RunAsyncCallback.onSuccess()方法。很明显,如果你检查GWT.runAsync()方法的源代码。

编辑:只需要添加一小部分:不要将Chrome与DevMode一起使用。 Chrome仍然有一个突出的错误(链接现在让我失望),这使得DevMode插件的Chrome运行速度非常慢。使用Firefox,它是Dev Mode插件中速度最快的。

答案 1 :(得分:4)

如前所述,代码分割在开发模式下完全没有效果。 我建议你的唯一一件事就是在开始时为jvm增加内存: 例如,我们在项目中使用:

-Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M

同时升级您的工作硬件(CPU,内存),它可以帮助您在开发模式下更快地编译Java代码。

答案 2 :(得分:3)

如果您想要更快的DevMode,您应该更加小心编写应用程序。用户尽可能延迟加载,将应用程序拆分为独立模块。 例如。假设你有一些5000课程的应用程序。通常,开发人员只需要更改应用程序的某些部分,而不是所有应用程序(例如,一页)。所以基本上你需要确保启动应用程序的一个简单部分,只加载应用程序所需的类。例如。而不是加载5000个类只会加载100个。还要检查RPC Type Explosion等常见错误,它们也会影响devmode。并尝试GWT 2.4它比以前的版本快得多(我的意思是DevMode)。

答案 3 :(得分:0)

在我的(中等长度)体验中,我注意到Internet Explorer 9在开发模式下也非常快,并且比Chrome稳定得多。 GWT插件不会在每次重新加载应用程序时崩溃。

你可以尝试一下,看看它是否适合你。