已合并
setLazyInitializeWebEngine and LazyInitializeWebEngineInCookieManager #116988
liuzhijie2创建于 2025年11月18日
setLazyInitializeWebEngine and LazyInitializeWebEngineInCookieManager #116988
已合并
共 3 个文件变更+103-1
| @@ -1520,3 +1520,49 @@ struct WebComponent { | |||
| 1520 | } | 1520 | } |
| 1521 | } | 1521 | } |
| 1522 | ``` | 1522 | ``` |
| 1523 | + | ||
| 1524 | +## setLazyInitializeWebEngine<sup>23+</sup> | ||
| 1525 | + | ||
| 1526 | +static setLazyInitializeWebEngine(lazy: boolean): void | ||
| 1527 | + | ||
| 1528 | +设置是否延后初始化ArkWeb内核,不调用该方法时,默认不延后初始化ArkWeb内核。 | ||
| 1529 | + | ||
| 1530 | +> **说明:** | ||
| 1531 | +> | ||
| 1532 | +> 该接口为全局静态方法,须在使用ArkWeb组件和初始化ArkWeb内核前调用,否则该设置无效。 | ||
| 1533 | +> | ||
| 1534 | +> 该接口仅适用于调用后会初始化CookieManager的接口,比如本类WebCookieManager的其他接口。调用本接口设置为true后,再调用适用的接口,会在初始化CookieManager时跳过初始化ArkWeb内核,后续需自行初始化ArkWeb内核。 | ||
| 1535 | + | ||
| 1536 | +**系统能力:** SystemCapability.Web.Webview.Core | ||
| 1537 | + | ||
| 1538 | +**参数:** | ||
| 1539 | + | ||
| 1540 | +| 参数名 | 类型 | 必填 | 说明 | | ||
| 1541 | +| ---- | ------- | -- | ------------------------- | | ||
| 1542 | +| lazy | boolean | 是 | 是否延后初始化ArkWeb内核,true:延后,false:不延后。 | | ||
| 1543 | + | ||
| 1544 | +**示例:** | ||
| 1545 | + | ||
| 1546 | +```ts | ||
| 1547 | +// xxx.ets | ||
| 1548 | +import { webview } from '@kit.ArkWeb'; | ||
| 1549 | + | ||
| 1550 | +webview.WebCookieManager.setLazyInitializeWebEngine(true); | ||
| 1551 | + | ||
| 1552 | +@Entry | ||
| 1553 | +@Component | ||
| 1554 | +struct WebComponent { | ||
| 1555 | + controller: webview.WebviewController = new webview.WebviewController(); | ||
| 1556 | + | ||
| 1557 | + aboutToAppear(): void { | ||
| 1558 | + webview.WebCookieManager.configCookieSync('https://www.example.com', 'a=b'); | ||
| 1559 | + webview.WebCookieManager.fetchCookieSync('https://www.example.com'); | ||
| 1560 | + } | ||
| 1561 | + | ||
| 1562 | + build() { | ||
| 1563 | + Column() { | ||
| 1564 | + Web({ src: 'www.example.com', controller: this.controller }) | ||
| 1565 | + } | ||
| 1566 | + } | ||
| 1567 | +} | ||
| 1568 | +``` | ||
| @@ -61,6 +61,7 @@ | |||
| 61 | | [uint32_t OH_NativeArkWeb_SetBlanklessLoadingCacheCapacity(uint32_t capacity)](#oh_nativearkweb_setblanklessloadingcachecapacity) | - | 设置无白屏加载方案的持久化缓存容量,返回实际生效值。默认缓存容量为30MB,最大值为100MB。当实际缓存超过容量时,将采用淘汰不常用的过渡帧的方式清理。 | | 61 | | [uint32_t OH_NativeArkWeb_SetBlanklessLoadingCacheCapacity(uint32_t capacity)](#oh_nativearkweb_setblanklessloadingcachecapacity) | - | 设置无白屏加载方案的持久化缓存容量,返回实际生效值。默认缓存容量为30MB,最大值为100MB。当实际缓存超过容量时,将采用淘汰不常用的过渡帧的方式清理。 | |
| 62 | | [void OH_NativeArkWeb_SetActiveWebEngineVersion(ArkWebEngineVersion webEngineVersion)](#oh_nativearkweb_setactivewebengineversion) | - | 设置ArkWeb内核版本。若系统不支持指定版本,则设置无效。该接口为全局静态方法,须在调用initializeWebEngine前执行,若已加载任何Web组件,则该设置无效。 | | 62 | | [void OH_NativeArkWeb_SetActiveWebEngineVersion(ArkWebEngineVersion webEngineVersion)](#oh_nativearkweb_setactivewebengineversion) | - | 设置ArkWeb内核版本。若系统不支持指定版本,则设置无效。该接口为全局静态方法,须在调用initializeWebEngine前执行,若已加载任何Web组件,则该设置无效。 | |
| 63 | | [ArkWebEngineVersion OH_NativeArkWeb_GetActiveWebEngineVersion()](#oh_nativearkweb_getactivewebengineversion) | - | 获取当前使用的ArkWeb内核版本。 | | 63 | | [ArkWebEngineVersion OH_NativeArkWeb_GetActiveWebEngineVersion()](#oh_nativearkweb_getactivewebengineversion) | - | 获取当前使用的ArkWeb内核版本。 | |
| 64 | +| [void OH_NativeArkWeb_LazyInitializeWebEngineInCookieManager(bool lazy)](#oh_nativearkweb_lazyinitializewebengineincookiemanager) | - | 设置是否延后初始化ArkWeb内核,不调用该方法时,默认不延后初始化ArkWeb内核。 | | ||
| 64 | 65 | ||
| 65 | ## 枚举类型说明 | 66 | ## 枚举类型说明 |
| 66 | 67 | ||
| @@ -573,3 +574,26 @@ ArkWebEngineVersion OH_NativeArkWeb_GetActiveWebEngineVersion() | |||
| 573 | | 类型 | 说明 | | 574 | | 类型 | 说明 | |
| 574 | | -- | -- | | 575 | | -- | -- | |
| 575 | | ArkWebEngineVersion | 返回由[ArkWebEngineVersion](#arkwebengineversion)枚举所定义的当前使用的ArkWeb内核版本。 | | 576 | | ArkWebEngineVersion | 返回由[ArkWebEngineVersion](#arkwebengineversion)枚举所定义的当前使用的ArkWeb内核版本。 | |
| 577 | + | ||
| 578 | +### OH_NativeArkWeb_LazyInitializeWebEngineInCookieManager() | ||
| 579 | + | ||
| 580 | +``` | ||
| 581 | +void OH_NativeArkWeb_LazyInitializeWebEngineInCookieManager(bool lazy) | ||
| 582 | +``` | ||
| 583 | + | ||
| 584 | +**描述:** | ||
| 585 | + | ||
| 586 | +设置是否延后初始化ArkWeb内核,不调用该方法时,默认不延后初始化ArkWeb内核。 | ||
| 587 | + | ||
| 588 | +> **说明:** | ||
| 589 | +> | ||
| 590 | +> - 该接口为全局静态方法,须在使用ArkWeb组件和初始化ArkWeb内核前调用,否则该设置无效。 | ||
| 591 | +> - 该接口仅适用于调用后会初始化CookieManager的接口,比如[ArkWeb_CookieManagerAPI](capi-web-arkweb-cookiemanagerapi.md)的接口。调用本接口后,再调用适用的接口,会在初始化CookieManager时跳过初始化ArkWeb内核,后续需自行初始化ArkWeb内核。 | ||
| 592 | + | ||
| 593 | +**起始版本:** 23 | ||
| 594 | + | ||
| 595 | +**参数:** | ||
| 596 | + | ||
| 597 | +| 参数项 | 描述 | | ||
| 598 | +|-----------------------------------------------------| -- | | ||
| 599 | +| bool lazy | 是否延后初始化ArkWeb内核,true:延后,false:不延后。 | | ||


示例代码需提供运行通过的截图