HarmonyOS性能优化——运行效率提高
2025-06-19 22:19:13
105次阅读
0个评论
运行效率提高
在开发过程中,优化影响性能的代码片段,以提高运行效率。以下实践总结了一些高性能的写法和建议:
变量声明
- 对于初期明确不会改变的变量,尽量使用const声明常量。这里的常量包括基础类型和引用类型。通过const声明,可以确保地址不会变化,减少因误操作导致的赋值错误,从而避免逻辑改变,并在编辑时及时发现错误。
- 对于number类型,编译器在优化时会区分int和double类型。开发者在初始化number类型的变量时指定number的类型,如果预期是整数类型就初始化为0,小数类型就初始化为0.0,避免将一个number类型初始化为undefined或者null。
- ESObject主要用于ArkTS和TS/JS跨语言调用的类型标注。在非跨语言场景中使用ESObject会引入不必要的跨语言调用,造成额外性能开销。建议在非跨语言调用的场景下减少使用ESObject,引入明确的类型进行注释。
属性访问
- 在要求性能的场景下,建议通过使用将全局变量存储为局部变量的方式来减少变量的属性查找,访问局部变量比访问全局变量更快。重复访问同一变量会造成不必要的消耗,尤其是在循环中,对性能的影响更大。
- 在ArkTS中,类结构的属性支持private、protected和public可访问修饰符。默认情况下,属性的可访问修饰符为public。给类属性添加访问修饰符选取适当的可访问修饰符可以提升代码的安全性、可读性。
数值计算与数据结构
- 如果是纯数值计算的场合,推荐数值计算使用TypedArray数据结构。TypedArray类型化数组是一种类似数组的对象,提供在内存缓冲中访问原始二进制数据的机制。在图像数据处理和加解密计算中使用TypedArray可以提高数据处理效率,因为TypedArray基于ArrayBuffer实现,性能方面有显著提升。
- 通过选取合适的数据结构提高运行效率。例如,使用Record作为临时容器处理属性存取逻辑,或使用HashMap实现快速读写键值。HashMap是ArkTS提供的高性能容器类,底层使用红黑树实现,支持高效的数据读写操作。
减少使用嵌套export */import *的方式
- 由于依赖模块解析采用深度优先遍历,会从入口文件的第一个导入语句开始逐层查找,直到最后一个没有导入语句的模块。连接好该模块的导出变量后,再回到上一级模块重复此步骤。因此减少使用嵌套export *的方式全量导出,降低依赖模块解析、文件执行阶段耗时增长。
- 当工具类中存在较多暴露函数或变量时,推荐按需引用使用到的变量减少import *的方式全量引用,可以减少该阶段中.ets文件执行耗时,即减少文件中所有export变量的初始化过程。
00
- 0回答
- 0粉丝
- 0关注
相关话题
- (八)ArkCompiler 的性能优势:启动、运行、内存与代码优化
- HarmonyOS性能优化——感知流畅优化
- HarmonyOS性能优化——组件绘制优化
- HarmonyOS性能优化——动画帧率优化
- HarmonyOS Next 性能优化方面
- HarmonyOS性能优化——渲染范围控制
- HarmonyOS性能优化——布局节点减少
- HarmonyOS性能优化——资源提前加载
- HarmonyOS性能优化——并发能力使用
- (十)ArkTS 性能优化策略
- (七七)HarmonyOS Design 的性能监控与优化
- (六二)ArkCompiler 的内联缓存优化:原理、实现与热点代码效率提升
- (三六)HarmonyOS Design 的代码优化:最佳实践与性能优化工具方法
- (七一)ArkCompiler 与 AI 技术的融合:AI 辅助编译优化与效率提升
- (八六)ArkCompiler 在智能物流系统中的应用:编译优化与效率提升