gpt4 book ai didi

performance - 为什么 SAPUI5 多次加载类似的片段?

转载 作者:行者123 更新时间:2023-12-04 21:28:52 24 4
gpt4 key购买 nike

我有一个 XML 片段并在 XML View 中的多个位置使用它。

<IconTabFilter text="ABC" key="1" icon="sap-icon://alphabetical-order">
<content>
<Table id="table1" width="auto" items="{path:'/ContactSet',parameters:{expand:'BusinessAddress,HomeAddress,OtherAddress,Photo'},filters:[{path:'Surname',operator:'StartsWith',value1:'A'},{path:'Surname',operator:'StartsWith',value1:'B'},{path:'Surname',operator:'StartsWith',value1:'C'}]}" noDataText=" {worklistView>/tableNoDataText}" busyIndicatorDelay="{worklistView>/tableBusyDelay}" growing="true" growingScrollToLoad="true" updateFinished="onUpdateFinished">
<headerToolbar>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesHeader" type="XML"/>
</headerToolbar>
<columns>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesColumns" type="XML"/>
</columns>
<items>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesRows" type="XML"/>
</items>
</Table>
</content>
</IconTabFilter>
<IconTabSeparator icon="sap-icon://process"/>
<IconTabFilter text="DEF" key="2" icon="sap-icon://alphabetical-order">
<content>
<Table id="table2" width="auto" items="{path:'/ContactSet',parameters:{expand:'BusinessAddress,HomeAddress,OtherAddress,Photo'},filters:[{path:'Surname',operator:'StartsWith',value1:'D'},{path:'Surname',operator:'StartsWith',value1:'E'},{path:'Surname',operator:'StartsWith',value1:'F'}]}" noDataText="{worklistView>/tableNoDataText}" busyIndicatorDelay="{worklistView>/tableBusyDelay}" growing="true" growingScrollToLoad="true" updateFinished="onUpdateFinished">
<headerToolbar>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesHeader" type="XML"/>
</headerToolbar>
<columns>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesColumns" type="XML"/>
</columns>
<items>
<core:Fragment fragmentName="de.cimt.cimply.AddressBook.view.worklist.tablesRows" type="XML"/>
</items>
</Table>
</content>
</IconTabFilter>

但是 View 加载时间太长,尤其是在 WEBIDE 中。

原因是它多次加载类似的片段文件。这是一个证据:

Show how SAPUI5 loads xml file

问题是我怎样才能提高性能?

我不想重复代码,我需要把那部分代码放在一个片段中,但我希望我的浏览器不会多次加载同一个文件。

最佳答案

在这种情况下无需更改您的代码。 SAP Web IDE/SCP 利用 App Cache Buster开箱即用的概念,它从浏览器缓存中获取应用程序资源(例如片段),只要这些资源之前没有改变。

请参阅下面的示例屏幕截图:

给定的

  • 代码:

    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
    <core:Fragment fragmentName="demo.view.fragment.MyFragment" type="XML" />
  • URL 属性 sap-ui-appCacheBuster=...在应用程序启动时自动附加哪个 Web IDE(描述 sap-ui-cachebuster-info.json 所在的位置)
  • 如果 devtool 已打开:禁用缓存 未选中 <-- 可能在您的情况下仍处于激活状态

  • 结果

    Loading SAPUI5 application resources from the cache

    如您所见,片段(和其他资源)从磁盘缓存加载,而不是一次又一次地重新获取它们。

    此外,如果应用程序是为最终生产环境捆绑的,这些片段甚至不会被多次请求,因为它们通常已经包含在捆绑文件中(例如 Component-preload.js )。

    关于performance - 为什么 SAPUI5 多次加载类似的片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453719/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com