HarmonyOS 关于@Track的设计
官方文档中关于实践的案例,如附件里面讲到@Track的设计能使得大的复杂对象不需要拆分的情况下就能够实现按属性变化才更新。
那为什么不把@Track设计成默认的机制,而是要开发者手动去标注,是不是标记@Track比起拆分对象这种开发方式在性能表现上会差一点?影响有多大?
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 关于ui设计出稿
1231浏览 • 1回复 待解决
HarmonyOS @Track使用问题
542浏览 • 1回复 待解决
HarmonyOS 关于app首页设计与开发的布局建议
1277浏览 • 1回复 待解决
关于无限步骤的数据库表设计
2479浏览 • 1回复 待解决
关于鸿蒙开发的UI框架的响应式设计
286浏览 • 0回复 待解决
HarmonyOS 关于怎么还原设计图问题?
910浏览 • 1回复 待解决
HarmonyOS 新状态管理框架@observed、@track
1489浏览 • 1回复 待解决
@Track装饰器有什么作用?
1532浏览 • 1回复 待解决
关于无限步骤的数据库表设计有懂的吗?
2443浏览 • 1回复 待解决
关于数据库商品库存的架构设计问题有知道的吗?
3413浏览 • 1回复 待解决
HarmonyOS 应用导航设计完整的demo
824浏览 • 1回复 待解决
HarmonyOS 原生应用的UI设计问题
1331浏览 • 1回复 待解决
HarmonyOS 设计约束通过标准的目的
603浏览 • 1回复 待解决
HarmonyOS 设计师如何设计页面还有切图这块尺寸
802浏览 • 1回复 待解决
对于鸿蒙应用的用户界面设计,有哪些遵循的设计原则和规范?
276浏览 • 0回复 待解决
设计稿单位转换的问题
1396浏览 • 1回复 待解决
应用导航设计遇到的问题
1083浏览 • 1回复 待解决
HarmonyOS 设计图尺寸的对应关系
695浏览 • 1回复 待解决
应用设计的时候如何分包?
945浏览 • 1回复 待解决
HarmonyOS JsBridge分层设计思想
1649浏览 • 1回复 待解决
关于mysql 表设计的问题,当遇到时间类型的时候,是用时间戳好?还是用date类型好?
2778浏览 • 1回复 待解决
Ability框架的设计哲学是什么?
332浏览 • 0回复 待解决
HarmonyOS 主页面设计选型问题
1099浏览 • 1回复 待解决
HarmonyOS 项目架构搭建和设计
977浏览 • 1回复 待解决
HarmonyOS RNOH RNAbility代码设计问题
734浏览 • 1回复 待解决
以下是不把@Track设计为默认机制的原因:
1.性能开销
使用@Track装饰器会在属性变化时触发UI更新,这可能会导致性能开销。尤其是在处理复杂的UI组件时,这种开销可能会变得显著。
2.行为限制
@Track装饰器仅适用于class对象的非静态成员属性,且未被标记的属性不能在UI中使用。这意味着在使用@Track装饰器时,必须确保所有需要在UI中使用的属性都被标记。
3.不兼容问题
从API version 11开始,@Track装饰器支持在ArkTS卡片中使用,但在此之前,@Track装饰器主要用于状态变量。因此,在旧的API版本中,如果对象中没有被@Track装饰的属性,行为将与原先保持一致,可能导致意外的行为或冗余刷新。
4.使用限制
建议开发者不要混用包含@Track的class对象和不包含@Track的class对象,如联合类型中、类继承中等。这种混用可能导致UI行为不一致或编译错误。
不默认支持的原因
由于@Track装饰器在性能、行为和兼容性方面存在一定的限制,为了确保应用的稳定性和性能优化,HarmonyOS没有将其作为默认支持的装饰器。开发者在使用@Track装饰器时需要谨慎考虑其影响,并根据具体需求进行选择和适配。器时需要谨慎考虑其影响,并根据具体需求进行选择和适配