Я работаю на SAPUI5 version: 1.56.13
, гибридном приложении с Cordova только с платформой Android .
Я хотел бы знать, есть ли способ предварительно загрузить представление (в фоновом / асинхронном режиме), когда пользователь выполняет другие действия, такие как просмотр других страниц, поэтому, когда пользователь хочет перейти к этому предварительно загруженный вид, это будет намного быстрее с точки зрения производительности .
В первый раз пользователь перемещается к представлению, как 30 секунд , чтобы отобразить представление.
второй раз требуется, как 5 секунд , чтобы открыть его.
Я пытался, пока пользователь находится в другом представлении:
- Создание вида на фоне.
sap.ui.view({
viewName: "myViewFolder.MyView",
controller: sap.ui.controller("myControllerFolder.MyController"),
type: sap.ui.core.mvc.ViewType.XML,
async: true
}).loaded().then(function(oView) {
// I save the reference on app context so use it later (now is there just for testing).
appScope.__myView = oView;
});
Позвоните в службу поддержки, чтобы получить данные для модели видов и настроить данные для модели.
getDataFromService(this, oData => {
let oModel = this.getOwnerComponent().getModel(Constants.MY_DATA_MODEL)
oModel.setData(oData);
});
Инициализация представления методом attachInit
:
new sap.ui.xmlview({viewName:"myViewFolder.MyView"}).placeAt("content");
Перейти к просмотру:
appScope.getRouter().navTo("MyView")
Я вижу, что только когда я нахожусь на этапе навигации, представление начинает отображаться, поскольку приложение регистрирует это:
Log-dbg.js: 414 2019-07-11 12: 36: 45.609300 Во время операции клонирования был найден шаблон, который не был помечен ни «templateShareable: true», ни «templateShareable: false». Фреймворк не разрушит шаблон. Это может вызвать ошибки (например, повторяющиеся идентификаторы) или утечки памяти (шаблон используется в агрегации «элементы» объекта «__list4»). Для получения дополнительной информации см. Документацию в разделе «Связывание агрегации». -
Это указывает на то, что представление визуализируется, поскольку у него есть несколько списков внутри списков с пользовательскими элементами для генерации представления в соответствии с моделью.
Брифинг:
- Контекст: Cordova с SAPUI5 (XML и JS) и Android платформа.
- Цель: предварительно загрузить представление в фоновом режиме, поэтому, когда пользователю необходимо перейти к этому представлению, оно будет уже загружено, поэтому время навигации будет меньше ( Улучшение производительности ).
- Соответствующая информация: Просмотр загружается медленно, поскольку содержит списки внутри списков с пользовательскими элементами. В основном все представление генерируется динамически из списков внутри списков .