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)