私は GWT でアプリを作成していますが、最近コード分割を実装しました。アプリケーションのサイズを 1.1MB から 570kB に減らしたので、アプリケーションの起動時間が速くなりました (私たちは 500kB が本当に重要な特別なサーバーを使用しています...私の質問には重要ではありません...)。アプリケーションの起動後 (つまり、ユーザーはログイン ページを表示し、ログインしてアプリの基本部分を使用できます)、残りのフラグメントをダウンロードしたいと思います。
フラグメント内のコードが必要なときにフラグメントがダウンロードされることはわかっています。しかし、フラグメントの 1 つは約 300kB です。そのため、アプリのメニューでアイテムをクリックすると、このフラグメントがダウンロードされ、ユーザーが応答を受け取るまでに非常に顕著な遅延 (1 - 2 秒) が発生します。
これはおそらく一度だけ発生する可能性が高く、フラグメントは1年ほどキャッシュされるため、次回はより速くロードされることがわかりました. ただし、たとえば、別のデバイスでもう一度試すと、フラグメントを初めてダウンロードする必要があります。
ユーザーがwifiを使用して電話/タブレットでアプリを起動した後、wifiから切断するか、その範囲外に出た場合でも、フラグメントでコードを起動できることを確認する必要があります。彼がまだサーバーに接続している間は、それらをダウンロードする原因となるものを起動しないでください。
今では、すべてのフラグメントをダウンロードするために 3 つのメニュー項目を開く必要があり、面倒です。
つまり
、最初のダウンロードは 570kB のままにし、アプリの残りの部分をできるだけ早くバックグラウンドで (可能であれば) ダウンロードしたいと考えています。
編集: http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.html#sequenceを見つけたので、最初の読み込みシーケンスを設定できるので、探しているものだと思います。ただし、フラグメントがダウンロードされた後にログイン画面が表示されるため、非同期でロードされるかどうかはわかりません。