如何在典型的GWT mvp项目中进行代码拆分?

时间:2012-10-08 17:13:33

标签: gwt mvp gwt-activities

我的应用程序是一个典型的GWT应用程序,它有一个导航栏,当点击一个条形项目时,该地点将被更改,应用程序将找到该地点的相应活动(在MasterActivityMapper中完成),然后调用activity.start( )。在init活动期间,还创建了相应的视图。当我的应用程序首次启动时,它将默认选择第一个导航栏项。

public class MasterActivitiesMapper implements Activity
{
      public Activity getActivity( Place place )
      {  
          if(place equals place1)
          {
             Activity1 a1= new Activity1();
             return a1;
          }
          else if(place equals place2)
          {
             Activity1 a2= new Activity2();
             return a2;
          }
          else if(...)
          {
             ....
          }
      }
}

我的应用程序运行良好,但初始下载量太大,加载需要10秒。我必须使用代码拆分来解决这个问题。

我读了文档 https://developers.google.com/web-toolkit/doc/latest/DevGuideCodeSplitting 但是仍然无法弄清楚在哪里/如何分割代码,任何人都有这种帮助的经验吗?

1 个答案:

答案 0 :(得分:1)

Activity.start,本质上是异步的,似乎是放置GWT.runAsync的好地方。

还可以从ActivityMapper返回活动异步代理。有关示例代码,请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=5129https://gist.github.com/3038878