diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-gestures-pangesture.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-gestures-pangesture.md
index c3eb2a28a854110d6f54e858fe0fe3e17c50a9d4..4fdfe090a97e17ac1f13748e761beb134b20a8d2 100644
--- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-gestures-pangesture.md
+++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-gestures-pangesture.md
@@ -77,7 +77,7 @@ PanGestureOptions(value?: { fingers?: number, direction?: PanDirection, distance
| 名称 | 功能描述 |
| -------- | -------- |
| setDirection(value: [PanDirection](#pandirection枚举说明)) | 设置滑动方向。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。|
-| setDistance(value: number) | 设置触发滑动手势事件的最小滑动距离,单位为vp。
取值范围:[0, +∞)
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
+| setDistance(value: number) | 设置触发滑动手势事件的最小滑动距离,单位为vp。
取值范围:[0, +∞)
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**说明:**
距离值不宜设置过大,避免因滑动脱手,响应时延过大等问题导致性能劣化,最佳实践请参考:[优化应用时延问题-减小拖动识别距离](https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-application-latency-optimization-cases-V5#section1116134115286)。 |
| setFingers(value: number) | 设置触发滑动的最少手指数。
取值范围:[1, 10],整数。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。|
| getDirection()12+: [PanDirection](#pandirection枚举说明) | 获取滑动方向。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| getDistance()18+: (value: number) | 获取触发滑动手势事件的最小滑动距离。
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。|
diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md
index 6b76c7a6b0f50d81a194cef6df5f8d7487c46e22..916ead64b26a1ad406e3d34efb4e268c11296a0c 100644
--- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md
+++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md
@@ -4,7 +4,7 @@
> **说明:**
> - 该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> - 该组件嵌套List子组件滚动时,若List不设置宽高,则默认全部加载,在对性能有要求的场景下建议指定List的宽高。
+> - 该组件嵌套List子组件滚动时,若List不设置宽高,则默认全部加载,在对性能有要求的场景下建议指定List的宽高,最佳实践请参考[懒加载优化性能-Scroll嵌套List导致按需加载失效](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-lazyforeach-optimization#section6296154115367)。
> - 该组件滚动的前提是主轴方向大小小于内容大小。
> - Scroll组件[通用属性clip](ts-universal-attributes-sharp-clipping.md)的默认值为true。
> - Scroll组件的高度超出屏幕显示范围时,可以通过设置通用属性[layoutWeight](ts-universal-attributes-size.md#layoutweight)让Scroll高度适应主轴的剩余空间。
diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-rendering-control-lazyforeach.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-rendering-control-lazyforeach.md
index ba0bf709e86b2b795b5a47837ede2b18624deb05..3602226d8971afff67e817372c77d524dc6f0237 100644
--- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-rendering-control-lazyforeach.md
+++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-rendering-control-lazyforeach.md
@@ -24,6 +24,10 @@ LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程
| itemGenerator | (item: Object, index: number) => void | 是 | 子组件生成函数,为数组中的每一个数据项创建一个子组件。
**说明:**
- item是当前数据项,index是数据项索引值。
- itemGenerator的函数体必须使用大括号{...}。
- itemGenerator每次迭代只能并且必须生成一个子组件。
- itemGenerator中可以使用if语句,但是必须保证if语句每个分支都会创建一个相同类型的子组件。 |
| keyGenerator | (item: Object, index: number) => string | 否 | 键值生成函数,用于给数据源中的每一个数据项生成唯一且固定的键值。修改数据源中的一个数据项若不影响其生成的键值,则对应组件不会被更新,否则此处组件就会被重建更新。`keyGenerator`参数是可选的,但是,为了使开发框架能够更好地识别数组更改并正确更新组件,建议提供。
**说明:**
- item是当前数据项,index是数据项索引值。
- 数据源中的每一个数据项生成的键值不能重复。
- `keyGenerator`缺省时,使用默认的键值生成函数,即`(item: Object, index: number) => { return viewId + '-' + index.toString(); }`,生成键值仅受索引值index影响。 |
+> **说明:**
+>
+> 应避免在`keyGenerator`和`itemGenerator`函数中执行耗时操作,以此来减少应用滑动时卡顿丢帧问题,最佳实践请参考[主线程耗时操作优化-循环渲染](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-time-optimization-of-the-main-thread#section4551193714439)。例如,不推荐使用JSON.stringify函数。在复杂的业务场景中,使用JSON.stringify会对item对象进行序列化,该过程会消耗大量时间与计算资源,从而降低页面性能,最佳实践请参考[懒加载优化性能-键值生成规则](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-lazyforeach-optimization#section68711519072)。
+
## IDataSource
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
@@ -68,6 +72,10 @@ getData(index: number): any
| ------------------- | --------- |
| any | 获取索引值index对应的数据,由数据源决定具体类型。 |
+> **说明:**
+>
+> 应避免在`getData`函数中执行执行耗时操作,以此来减少应用滑动时卡顿丢帧问题,最佳实践请参考[主线程耗时操作优化-循环渲染](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-time-optimization-of-the-main-thread#section4551193714439)。
+
### registerDataChangeListener
registerDataChangeListener(listener: DataChangeListener): void
diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-background.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-background.md
index 3f1e6e95ce2170411409cb5dc707029b79fbd30e..710fb3027273c24589acb7c449558a8f25bf4efb 100644
--- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-background.md
+++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-background.md
@@ -311,7 +311,7 @@ backdropBlur(radius: Optional\, options?: BlurOptions): T
> **说明:**
>
-> blur和backdropBlur是实时模糊接口,会每帧进行实时渲染,性能负载较高。当模糊内容和模糊半径都不需要变化时,建议使用[静态模糊接口](../../apis-arkgraphics2d/js-apis-effectKit.md#blur)。
+> backgroundBlurStyle、blur和backdropBlur为实时接口,每帧执行实时渲染,性能负载较大。当模糊内容与模糊半径均无需变动时,推荐采用静态模糊接口[blur](../../apis-arkgraphics2d/js-apis-effectKit.md#blur)。最佳实践请参考[图像模糊动效优化-使用场景](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-fuzzy-scene-performance-optimization#section4945532519)。
## backgroundEffect11+
@@ -341,6 +341,10 @@ backgroundEffect(options: Optional\): T
设置组件背景属性,包括背景模糊半径、亮度、饱和度和颜色等参数。与[backgroundEffect11+](#backgroundeffect11 )相比,options参数新增了对undefined类型的支持。
+> **说明:**
+>
+> backgroundEffect接口为实时接口,每帧对模糊等效果执行实时渲染,性能负载较大。当组件背景模糊效果无需变动时,推荐采用静态模糊接口[blur](../../apis-arkgraphics2d/js-apis-effectKit.md#blur)实现模糊效果。最佳实践请参考:[图像模糊动效优化-使用场景](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-fuzzy-scene-performance-optimization#section4945532519)。
+
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
diff --git a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-foreground-blur-style.md b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-foreground-blur-style.md
index af220467f188ce473475070a3f83f7c5f84d802e..7fa6ae6e66ef378f69362079617a7a04474d3f8f 100644
--- a/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-foreground-blur-style.md
+++ b/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-foreground-blur-style.md
@@ -52,6 +52,10 @@ foregroundBlurStyle(style: Optional\, options?: ForegroundBlurStyleOp
| ------ | ------------------------ |
| T | 返回当前组件。 |
+> **说明:**
+>
+> foregroundBlurStyle接口为实时模糊接口,每帧执行实时渲染,性能负载较大。当模糊内容与模糊半径均无需变动时,推荐采用静态模糊接口[blur](../../apis-arkgraphics2d/js-apis-effectKit.md#blur)。最佳实践请参考:[图像模糊动效优化-使用场景](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-fuzzy-scene-performance-optimization#section4945532519)。
+
## ForegroundBlurStyleOptions对象说明
继承自[BlurStyleOptions](#blurstyleoptions)
diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
index 590ef73b5d5c792aed44a0ff0dacbfe4ebe01931..5245a55c156641319e969cdbca27cdba04764aae 100644
--- a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
+++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
@@ -1,6 +1,6 @@
# BuilderNode
-提供能够挂载系统组件的自定义节点BuilderNode。BuilderNode仅可作为叶子节点使用。使用方式参考[BuilderNode开发指南](../../ui/arkts-user-defined-arktsNode-builderNode.md)。
+提供能够挂载系统组件的自定义节点BuilderNode。BuilderNode仅可作为叶子节点使用。使用方式参考[BuilderNode开发指南](../../ui/arkts-user-defined-arktsNode-builderNode.md)。最佳实践请参考[组件动态创建-组件动态添加、更新和删除](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-ui-dynamic-operations#section153921947151012)。
> **说明:**
>
diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-frameNode.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-frameNode.md
index 87879e15d634364a52058922d02e3941b23fd30f..6b8517b8b8658de1a9b73c67c2f8e1138d44a39c 100644
--- a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-frameNode.md
+++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-frameNode.md
@@ -1,6 +1,6 @@
# FrameNode
-FrameNode表示组件树的实体节点。[NodeController](./js-apis-arkui-nodeController.md#nodecontroller)可通过[BuilderNode](./js-apis-arkui-builderNode.md#buildernode)持有的FrameNode将其挂载到[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)上,也可通过FrameNode获取[RenderNode](./js-apis-arkui-renderNode.md#rendernode),挂载到其他FrameNode上。
+FrameNode表示组件树的实体节点。[NodeController](./js-apis-arkui-nodeController.md#nodecontroller)可通过[BuilderNode](./js-apis-arkui-builderNode.md#buildernode)持有的FrameNode将其挂载到[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)上,也可通过FrameNode获取[RenderNode](./js-apis-arkui-renderNode.md#rendernode),挂载到其他FrameNode上。最佳实践请参考[组件动态创建-组件动态添加、更新和删除](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-ui-dynamic-operations#section153921947151012)。
> **说明:**
>
diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-nodeController.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-nodeController.md
index 66662027df12426897e0d3f2454a56d1fd734491..a61a4678e58f4bec3d48ed8dd9a47496178d7700 100644
--- a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-nodeController.md
+++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-nodeController.md
@@ -16,7 +16,7 @@ import { NodeController } from '@kit.ArkUI';
## NodeController
-通常搭配[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)进行使用。用于创建控制器管理绑定的[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)组件。一个NodeController只允许与一个[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)进行绑定。
+通常搭配[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)进行使用。用于创建控制器管理绑定的[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)组件。一个NodeController只允许与一个[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)进行绑定。最佳实践请参考[组件动态创建-组件动态添加、更新和删除](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-ui-dynamic-operations#section153921947151012)。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
diff --git a/zh-cn/application-dev/ui/arkts-blur-effect.md b/zh-cn/application-dev/ui/arkts-blur-effect.md
index 75cf7439481bb3bc3e455a469ba175a9f532d6e2..850bbee7590da6215a4a11f93e0b2a7cf9d54937 100644
--- a/zh-cn/application-dev/ui/arkts-blur-effect.md
+++ b/zh-cn/application-dev/ui/arkts-blur-effect.md
@@ -16,7 +16,7 @@
> **说明:**
>
-> 以上接口是实时模糊接口,会每帧进行实时渲染,性能负载较高。当模糊内容和模糊半径都不需要变化时,建议使用静态模糊接口[blur](../reference/apis-arkgraphics2d/js-apis-effectKit.md#blur)。
+> 以上接口均为实时模糊接口,每帧执行实时渲染,性能负载较大。当模糊内容与模糊半径均无需变动时,推荐采用静态模糊接口[blur](../reference/apis-arkgraphics2d/js-apis-effectKit.md#blur)。最佳实践请参考:[图像模糊动效优化-使用场景](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-fuzzy-scene-performance-optimization#section4945532519)。
## 使用backdropBlur为组件添加背景模糊
diff --git a/zh-cn/application-dev/ui/state-management/arkts-rendering-control-lazyforeach.md b/zh-cn/application-dev/ui/state-management/arkts-rendering-control-lazyforeach.md
index 92f5e44ed2b9eaf131578646eb8b4d970927771e..9280d299ec3ff3dc1ed422387e161da2047bf5de 100644
--- a/zh-cn/application-dev/ui/state-management/arkts-rendering-control-lazyforeach.md
+++ b/zh-cn/application-dev/ui/state-management/arkts-rendering-control-lazyforeach.md
@@ -1268,7 +1268,7 @@ struct MyComponent {
item.message += '00';
this.data.reloadData();
})
- }, (item: StringData, index: number) => JSON.stringify(item))
+ }, (item: StringData, index: number) => item.message)
}.cachedCount(5)
}
}
@@ -1422,7 +1422,7 @@ struct MyComponent {
.onClick(() => {
item.message.message += '0';
})
- }, (item: StringData, index: number) => JSON.stringify(item) + index.toString())
+ }, (item: StringData, index: number) => item.message.message + index.toString())
}.cachedCount(5)
}
}
@@ -1509,7 +1509,7 @@ struct MyComponent {
// @ObjectLink装饰的成员变量仅能监听到其子属性的变化,再深入嵌套的属性便无法观测到
item.message = new NestedString(item.message.message + '0');
})
- }, (item: StringData, index: number) => JSON.stringify(item) + index.toString())
+ }, (item: StringData, index: number) => item.message.message + index.toString())
}.cachedCount(5)
}
}