我有这个管理网站是基于GWT和Sencha Ext GWT 2我有问题,它加载非常慢,使用Firebug我可以看到这个
4DDF7CE1FD8584654846E8ADA9D9DECB.cache.html
现在约为2MB,这就是加载速度慢的原因.然而,使用GWT 2.5,我能够将编译大小减少大约15%.但是我仍然需要进一步缩小尺寸.我想在采用Code Split方法之前做到这一点.
使用PageSpeed我得到了这个优化结果,比如Minify HTML/Javascript等,但是它很难专门用于GWT代码.
除了选择混淆模式之外,有什么方法可以最小化编译大小.是否像压缩模式?
app*_*tup 12
你正在盲目地接近这个问题.类似工具的PageSpeed在运行时性能方面更有帮助.
1)您应该启用GWT Compiler的报告功能.分析报告以深入了解应用程序中最大值为2 MB的内容.在GWT Maven插件中
<compileReport>true</compileReport>
<compilerMetrics>true</compilerMetrics>
<soycDetailed>true</soycDetailed>
Run Code Online (Sandbox Code Playgroud)
2)您应该在构建中逐个打开GWT Compiler标志,以了解它们对它们的影响程度.在GWT Maven插件中
<disableCastChecking>true</disableCastChecking>
<disableClassMetadata>true</disableClassMetadata>
<optimizationLevel>9</optimizationLevel>
Run Code Online (Sandbox Code Playgroud)
3)根据Google IO 2011在.gwt.xml文件中的性能优化提示.
<set-configuration-property name="compiler.enum.obfuscate.names" value="true" />
Run Code Online (Sandbox Code Playgroud)
4)在.gwt.xml文件中的prod模式中删除GWT异常堆栈跟踪代码.
<set-property name="compiler.stackMode" value="strip" />
Run Code Online (Sandbox Code Playgroud)
5)您应该打开GWT Compiler标志以进行关闭.在GWT Maven插件中
<enableClosureCompiler>true</enableClosureCompiler>
Run Code Online (Sandbox Code Playgroud)
6)此外,如果您使用RPC,那么请注意方法签名.避免在rpc参数和返回类型中使用接口和抽象类,如List,Map,Model.它们有助于减少应用程序中的rpc占用空间.
应该根据对GWT编译器报告的分析来决定codesplit.GZIP压缩有助于减少带宽占用空间,但同时会增加浏览器和服务器开销的成本.
| 归档时间: |
|
| 查看次数: |
2359 次 |
| 最近记录: |