Cordova 在混合web应用程序中优化sapui5/openui5初始化

Cordova 在混合web应用程序中优化sapui5/openui5初始化,cordova,phonegap-build,sapui5,Cordova,Phonegap Build,Sapui5,我们正在使用sapui5(通过phonegap构建)构建一个混合web应用程序 整个应用程序(包括sapui5)的启动时间有点慢,因此我们希望对其进行优化 所有sapui5文件都与混合应用程序打包,因此在初始化过程中不会执行任何网络请求 这是我们目前对sapui5的初始化: <script id="sap-ui-bootstrap" type="text/javascript" src="sap-ui-core.js" data-sap-ui-preload="sync" data

我们正在使用sapui5(通过phonegap构建)构建一个混合web应用程序

整个应用程序(包括sapui5)的启动时间有点慢,因此我们希望对其进行优化

所有sapui5文件都与混合应用程序打包,因此在初始化过程中不会执行任何网络请求

这是我们目前对sapui5的初始化:

    <script id="sap-ui-bootstrap" type="text/javascript" src="sap-ui-core.js"
data-sap-ui-preload="sync"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.ui.layout,sap.viz,sap.ui.commons,sap.ui.unified,sap.ui.ux3,sap.ui.table,sap.suite.ui.commons,sap.m,sap.me"></script>

我们目前正在使用sapui5版本1.24.2

我将使用对象来检查任何更改的效果


我们将从数据sap ui LIB中删除未使用的LIB,但是否可以采取其他措施?

我不确定这是否对性能有多大帮助,但请确保您使用的是库的预加载版本,例如sap/m/library-preload.json。这样,您还可以缩小混合应用程序安装包的大小,因为您可以删除控件的所有.js或-dgb.js文件。

我也遇到了类似的问题。因为加载了很多库,所以应该异步加载它们,并在核心就绪时启动:

   <script id="sap-ui-bootstrap" type="text/javascript" src="sap-ui-core.js"
data-sap-ui-preload="async"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.ui.layout,sap.viz,sap.ui.commons,sap.ui.unified,sap.ui.ux3,sap.ui.table,sap.suite.ui.commons,sap.m,sap.me"></script>

<script>


    var oCore = sap.ui.getCore().attachInit(function(){
    //start application
        });
    </script>

var oCore=sap.ui.getCore().attachInit(函数(){
//启动应用程序
});

我在这里找到了部分答案:

我还在构建一个混合应用程序,启动时会出现性能问题。 我运行的是android:cordova-v:4.3.0 cordova平台版本android:3.7.1和ios:cordova-v:5.1.1 cordova平台版本android:3.8.0

我所做的是:

  • 当您将移动包(openui5-runtime-mobile-1.30.8.zip)与数据sap ui preload=“”结合使用时。这将为您节省几个电话
  • 就像前面提到的,只使用异步调用
  • 尝试不要在控制器的init方法中执行从开始屏幕开始就不需要的操作
  • 检查您的应用程序是否有耗时的操作-例如,我有一个sap.m.列表,但没有激活
  • 我尝试过这个,但没有成功:
  • 使用闪屏->仅“隐藏”缓慢的启动时间

谢谢,我如何检查是否使用了预载?是否只是数据sap ui preload属性决定了它?抱歉,编辑了初始注释:),但将通过网络跟踪确认建议。只要这些文件已经在应用程序中,并且可以通过file://路径访问,我想我不会有什么收获。还表明您需要显式地处理初始化(导致现有代码更加复杂),减少sap ui LIB的数据量会产生巨大的影响。从11.3秒到6.5秒(页面上加载了许多其他元素)。从chrome控制台测量performance.timing.domComplete-performance.timing.requestStart