【问题标题】:UI5 performance parameters: data-sap-ui-preload vs. data-sap-ui-asyncUI5 性能参数:data-sap-ui-preload 与 data-sap-ui-async
【发布时间】:2021-08-28 02:48:25
【问题描述】:

不同的 SAPUI5 性能指南提到了两个关键参数,它们似乎性质相似,但解释略有不同:

  1. data-sap-ui-preload="async"

这里最重要的设置是data-sap-ui-preload="async"。这使运行时能够在后台异步加载所有已声明库的模块。这减少了客户端发送的可能相互阻塞的请求数量。

  1. data-sap-ui-async="true"

最重要的设置是data-sap-ui-async="true"。如果使用异步 API,这使运行时能够异步加载所有已声明库的所有模块和预加载文件。设置async=true 可以利用浏览器并行执行多个请求的功能,而不会阻塞 UI 线程。

您能否澄清一下到底有什么区别,我应该什么时候使用一个而不是另一个?

【问题讨论】:

    标签: performance asynchronous sapui5


    【解决方案1】:

    第一个链接文档基于过时的 UI5 版本1.38.x。当时,配置sap-ui-preload="async" 确实是“最重要的设置”,因为当时没有sap-ui-async 可用。对于版本1.58.2,引入了async="true",应该使用它来代替preload="true",如主题Configuration Options and URL Parameters中所述:

    preload

    这个配置参数定义了所谓的预加载文件的加载行为。 […] 这些值的使用如下:

    • […]
    • 当设置为async 时,预加载文件是异步加载的。但是,我们建议在引导程序中改用 async=true 配置参数,因为它会将更多模块/相关 API 切换为异步包括预加载文件的加载行为。

    async

    此配置设置使模块加载器能够异步加载模块和库预加载文件


    TL;DR

    data-sap-ui-async="true" // since 1.58.2 --> Replaces preload="async" *
    
    data-sap-ui-preload="async" // for 1.58.1 and below
    

    * 先决条件:Is Your Application Ready for Asynchronous Loading?

    【讨论】:

      【解决方案2】:

      我想向 Boghyon 的 answer 添加更多信息。它不是 data-sap-ui-asyncdata-sap-ui-preload 的替代品。 data-sap-ui-async 是一个附加产品,它可以简单地启用 UI5 的更多异步功能。另请参阅performance section

      【讨论】:

      • 来自 «引导属性data-sap-ui-async="true" 影响模块和预加载文件。如果无法异步加载模块(例如出于兼容性原因),请使用data-sap-ui-preload="async" 至少配置异步加载的预加载。» 我可以推断data-sap-ui-asyncdata-sap-ui-preload 属性重叠,换句话说,data-sap-ui-async 做了data-sap-ui-preload 所做的一切,加上一些额外的东西以利于异步。我理解正确吗?
      • 很高兴见到你!是的,我想我选择了“替换”这个词很糟糕。如果一切仍按预期工作,应用程序开发人员不应该简单地替换 preload="async" 而不测试应用程序。感谢您的提醒! +1
      • 是的,@Mike B。你给它起了名字。 data-sap-ui-async 做了 data-sap-ui-preload 所做的一切,加上一些额外的东西以利于异步。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      • 2016-06-13
      • 2020-02-21
      相关资源
      最近更新 更多