增加性能启动混合应用

时间:2013-01-21 06:55:49

标签: android ios performance gwt web-applications

我有一个问题,当我启动我的混合应用程序。加载第一页需要很长时间。 ~40秒。

我使用 GWT Google App Engine RequestFactories 。我检测到,该应用程序向服务器发出了几个请求(~10个请求)。

现在我想知道,我怎样才能提高我的应用程序的性能。

  1. 将所有请求分组到一个请求中,该请求使用单个请求传递所有数据。 (~300kb数据)
  2. 使用少量请求和数据创建启动页面。 (~50kb数据)
  3. 更好的主意?
  4. 我更喜欢,我可以保留当前的启动页面。你能分享一下你的经验吗?

2 个答案:

答案 0 :(得分:2)

您已指出减少启动时间的两种主要方法。

1.-减少请求:使用RF,如果您共享同一服务实例并且只调用一次.fire()方法,则可以将所有请求分组。将Bundles用于图像,css和其他资源,以便在同一请求中下载它们。

2.-减少js大小:使用GWT.runAsync()将代码拆分。因此,第一段代码可能是启动应用程序的最小内容,直到用户与其进行交互。您可以使用gwt编译报告来查看您的代码是否更大。您可以在gwt-2.5中使用新的闭包编译器来减少和优化最终的js。

3.-您必须检查的另一件事是您的网络服务器配置正在发送相应的标头,以便浏览器缓存gwt片段,并且您应该在发送到客户端之前检查它是否正在压缩文件。你可以让gwt编译器预先压缩那些js片段。

4.-对于连续加载,我的意思是用户第二次访问您的应用程序,考虑使用localstorage缓存某些不会更改的内容而不是再次请求它们。配置你的HTML5Manifest,如果你使用mgwt,它真的很容易,因为它们包含一个链接器,可以在编译时生成清单。

5.-考虑使用轻量级小部件和框架而不是重型小部件(js集合,元素,gquery,mgwt等)。

答案 1 :(得分:0)

我有几条建议:

  • 在启动时加载在单个请求中很少更改的数据。
  • 在您的服务器上激活GZip压缩。
  • 在用户空闲时间内完成应用程序启动时使用后台调用。
  • 在单个请求中对相关请求进行分组。