应用程序启动后 GWT 加载片段

GWT load fragments after application start

我正在 GWT 中创建一个应用程序,我最近刚刚在那里实现了代码拆分。我将应用程序大小从 1.1MB 减少到 570kB,这很好,因此应用程序的启动时间现在更快(我们使用的是特殊服务器,其中 500kB 真的很重要......虽然对我的问题并不重要......)。应用程序启动后(也就是说用户可以看到登录页面,可以登录并使用应用程序的基本部分),我想下载其余的片段。

我知道当需要片段中的代码时会下载该片段。但是其中一个片段大约有 300kB。因此,当我在我的应用程序菜单中单击某个项目时,会导致下载此片段,在用户获得响应之前会有非常明显的延迟(1 - 2 秒)。

现在我明白这很可能只会发生一次,然后片段将被缓存大约一年,因此下次加载速度会更快。但是例如,当我在另一台设备上再次尝试时,我将不得不再次下载第一次片段。

我只需要确定,当用户在 phone/tablet 上使用 wifi 启动我的应用程序,然后断开与 wifi 的连接或超出其范围时,他仍然能够启动代码碎片,即使他没有启动导致下载它们的东西,而他仍然连接到服务器。

现在他必须打开 3 个菜单项才能下载所有令人讨厌的片段。

简而言之:
我希望我的初始下载保持 570kB,并尽快在后台下载应用程序的其余部分(如果可能的话)。

编辑: 我发现 http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.html#sequence 可以设置初始加载顺序,所以我想这就是我要找的。不确定它们是否异步加载,因为在下载片段后会出现登录屏幕。

您可以在呈现登录面板后下载所有片段。只需在其余代码中调用一些方法 - 它不需要做一些可见的事情。

此外,如果您打算以这种方式加载所有代码,则只需拆分一个片段 - 您的登录面板入口点。每个拆分点 (a) 会略微增加应用程序的整体大小,并且 (b) 会增加(有时会显着增加)剩余片段的大小,该片段仍需要加载才能显示第一个片段。因此,根据您的要求,除了初始片段和应用程序的其余部分之外没有任何意义。