1e41f4b71Sopenharmony_ci# arkcompiler子系统变更说明
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.arkcompiler.1 arkcompiler 热点函数中Sendable Class赋值检查修复
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci**变更原因**
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci热点函数中Sendable Class赋值检查修复
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci**变更影响**
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci该变更为非兼容性变更。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci- Sendable数据用于解决跨线程数据传递的性能问题。其使用介绍参见[@Sendable装饰器:声明并校验Sendable类](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/arkts-utils/arkts-sendable.md)。
14e41f4b71Sopenharmony_ci- 部分约束在热点函数中未做检查,导致开发者能够绕过该约束
15e41f4b71Sopenharmony_ci- 下面是本次变更涉及绕过的约束
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci    | \@Sendable类装饰器         | 说明                                                                   |
18e41f4b71Sopenharmony_ci    | ------------------------- | ---------------------------------------------------------------------- |
19e41f4b71Sopenharmony_ci    | 装饰的对象内的属性类型限制  | <b>支持string、number、boolean、SendableClass。</b>禁止使用闭包变量。不支持#定义私有属性,需用private。不支持计算属性。           |
20e41f4b71Sopenharmony_ci  
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci- 对于违反**属性类型限制**的情况。
23e41f4b71Sopenharmony_ci    - 变更前:程序正常运行,无错误
24e41f4b71Sopenharmony_ci    - 变更后:程序在违反约束的点抛出异常,提醒开发者此处赋值类型不匹配,需要按照:[@Sendable装饰器:声明并校验Sendable类](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/arkts-utils/arkts-sendable.md) 中**装饰的对象内的属性类型限制**的要求进行适配
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci**API Level**
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ciAPI11
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci**变更发生版本**
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ciOpenHarmony_4.1.6.5
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**变更的接口/组件**
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci@Sendable装饰器
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**适配指导**
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci本次变更后,如在运行时发生类型不匹配异常,可能违反了本次修改涉及的使用约束,需要对赋值类型进行检查。详细说明,参见[@Sendable装饰器:声明并校验Sendable类](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/arkts-utils/arkts-sendable.md)