Я создаю приложение в GWT и недавно реализовал там разделение кода. Я уменьшил размер приложения с 1,1 МБ до 570 КБ, что неплохо, поэтому время запуска приложения теперь быстрее (мы используем специальный сервер, где 500 КБ действительно имеют значение ... не важно для моего вопроса ...). После запуска приложения (другими словами, пользователь может видеть страницу входа в систему, может войти в систему и использовать основные части приложения), я хотел бы загрузить остальные фрагменты.
Я знаю, что фрагмент будет загружен, когда потребуется код во фрагменте. Но один из фрагментов около 300кБ. Поэтому, когда я нажимаю в меню своего приложения на элемент, который вызывает загрузку этого фрагмента, возникает очень заметная задержка (1-2 секунды), прежде чем пользователь получит ответ.
Теперь я понимаю, что это, скорее всего, произойдет только один раз, а затем фрагмент будет кешироваться примерно на год, поэтому в следующий раз он будет загружаться быстрее. Но, например, когда я попробую еще раз на другом устройстве, мне придется в первый раз снова загрузить фрагмент.
Мне просто нужно быть уверенным, что когда пользователь запускает мое приложение на телефоне / планшете с помощью Wi-Fi, а затем отключается от Wi-Fi или выходит за пределы его диапазона, он все равно сможет запускать код во фрагментах, даже если он этого не сделал. не запускать то, что вызывает их загрузку, пока он был подключен к серверу.
Теперь ему придется открыть 3 пункта меню, чтобы загрузить все фрагменты, что раздражает.
Вкратце:
я хочу, чтобы моя первоначальная загрузка оставалась 570 КБ, а остальная часть приложения загружалась как можно скорее в фоновом режиме (если возможно).
РЕДАКТИРОВАТЬ: я нашел http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.html#sequence, где вы можете настроить начальную последовательность загрузки, так что я думаю, это то, что я ищу. Не уверен, что они загружаются асинхронно, потому что экран входа в систему появляется после загрузки фрагментов.