java - 最小化 GWT 应用程序的编译大小

标签 java gwt gxt

我有一个基于 GWTSencha Ext GWT 2 的管理站点,我遇到了问题,加载速度非常慢, 使用 Firebug 我可以看到这个

4DDF7CE1FD8584654846E8ADA9D9DECB.cache.html

现在大约是 2MB,这就是加载缓慢的原因。使用 GWT 2.5 但是我能够减少编译大小 约 15%。但是我仍然需要进一步减小尺寸。我想在诉诸代码拆分方法之前执行此操作。

使用 PageSpeed 我得到了优化的结果,比如 Minify HTML/Javascript 等,但是很难专门用于 GWT 代码。

除了选择混淆模式外,还有什么方法可以最小化编译大小。有压缩模式吗?

最佳答案

您正在盲目地解决问题。 PageSpeed 之类的工具可以更频繁地帮助提高运行时性能。

1) 您应该打开 GWT 编译器的报告功能。分析报告以深入了解您的应用程序中哪些内容对这 2 MB 的贡献最大。 在 GWT Maven 插件中

   <compileReport>true</compileReport>
   <compilerMetrics>true</compilerMetrics>
   <soycDetailed>true</soycDetailed>

2) 您应该在构建中一个一个地打开 GWT 编译器标志,以了解它们的影响有多大。 在 GWT Maven 插件中

  <disableCastChecking>true</disableCastChecking>
  <disableClassMetadata>true</disableClassMetadata>
  <optimizationLevel>9</optimizationLevel>

3) .gwt.xml 文件中的 Google IO 2011 性能优化提示。

<set-configuration-property name="compiler.enum.obfuscate.names" value="true" />

4) 在.gwt.xml 文件中去除prod 模式下的GWT 异常堆栈跟踪代码。

<set-property name="compiler.stackMode" value="strip" />

5) 您应该打开 GWT 编译器标志以关闭。 在 GWT Maven 插件中

<enableClosureCompiler>true</enableClosureCompiler>

6) 此外,如果您正在使用 RPC,请注意方法签名。避免在 rpc 参数和返回类型中使用接口(interface)和抽象类,如 List、Map、Model。它们有助于减少应用程序中的 rpc 足迹。

最后

应该根据对 GWT 编译器报告的分析来做出代码拆分的决定。 GZIP 压缩有助于减少您的带宽占用,但同时会增加您的浏览器成本和服务器开销。

关于java - 最小化 GWT 应用程序的编译大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14497973/

相关文章:

java - 用 Java for OSX 写一个可执行的 .sh 文件

java - 字符串索引越界错误

java - 编译 GWT 应用程序时出错 (Errai)

java - GWT 类类似于 AWT 桌面?

java - 更改树节点字体颜色

java - TestWatcher 和 TestNG

java - mvn clean install 对于我的 spring-cloud-contract 消费者测试来说是成功的,但是当我手动运行测试时它们失败了?

java - GWT - SinkEvent ONCLICK 不起作用

java - 智能 GWT 应用程序不显示任何内容,因为找不到 nocache.js 文件错误

java - gxt 3.x 中的 BasePagingLoadResult 发生了什么?