OpenHarmony性能最佳实践资料整理 原创

zhushangyuan_
发布于 2023-9-1 08:54
浏览
0收藏

OpenHarmony性能最佳实践资料整理

  • 摘要:本文会收集整理OpenHarmony应用开发性能最佳实践相关资料。

  • 关键字:OpenHarmony 懒加载 列表滑动性能 状态管理 LazyForEach 缓存列表项 应用冷启动 动画丢帧 视图嵌套层次

1、ArkTS编程语言

1.1 从TypeScript到ArkTS的迁移指导

  从TypeScript到ArkTS的迁移指导这篇文章介绍如何将标准的TypeScript代码重构为ArkTS代码,使用ArkTS进行OpenHarmony应用开发时需要遵守ArkTS的约束指导,以获得最佳的性能。

2、UI界面开发性能指导

2.1 改善布局性能

  从文章改善布局性能可以了解,如何优化Flex组件的布局性能。

Flex为采用弹性布局的容器。容器内部的所有子元素,会自动参与弹性布局。子元素默认沿主轴排列,子元素在主轴方向的尺寸称为主轴尺寸。

在单行布局场景下,子组件的主轴尺寸长度和可能存在不等于容器主轴尺寸长度的情况,部分子组件会被布局两次来填充容器,即需要二次布局,导致布局效率下降......

2.2 状态管理优秀实践

  文章状态管理优秀实践会助开发者学习如果正确地在应用开发中使用状态变量,进行高性能开发。

为了帮助应用程序开发人员提高其应用程序质量,特别是在高效的状态管理方面。本章节面向开发者提供了多个在开发ArkUI应用中常见场景和易错问题,并给出了对应的解决方案。

此外,还提供了同一场景下,推荐用法和不推荐用法的对比和解释说明,更直观地展示两者区别,从而帮助开发者学习如果正确地在应用开发中使用状态变量,进行高性能开发。

2.3 LazyForEach:数据懒加载

  LazyForEach:数据懒加载文章介绍如何使用懒加载实现按需加载迭代数据,降低内存占用,提升页面启动速度。

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当LazyForEach在滚动容器中使用了,框架会根据滚动容器可视区域按需创建组件,
当组件划出可视区域外时,框架会进行组件销毁回收以降低内存占用......

2.4 性能提升的推荐方法

  性能提升的推荐方法介绍了懒加载、条件渲染、减少应用白块等性能提升技巧。

开发者若使用低性能的代码实现功能场景可能不会影响应用的正常运行,但却会对应用的性能造成负面影响。本章节列举出了一些可
提升性能的场景供开发者参考,以避免应用实现上带来的性能劣化。

2.5 组件复用

  组件复用场景文章,通过一个嵌套层数过多引起性能问题的场景,讲解组件复用如何应用。

2.6 应用性能最佳实践

  应用性能最佳实践介绍了提升应用性能的最佳实践,提供提升应用启动和响应速度、减少丢帧卡顿的一些方法和案例供应用开发者参考。

用户期望应用能够快速启动、及时响应、无卡顿,本文将提供提升应用启动和响应速度、减少丢帧卡顿的一些方法和案例供应用开发者参考。

3、DevEco Studio性能工具

  社区已经发布DevEco Studio 4.0 Beta2工具,随工具发布了《DevEco Studio 4.0.0.400 使用指南》,其中包含了一些性能工具的使用,如ArkUI Inspector、DevEco Profiler 性能调优工具、AOT

3.1 ArkUI Inspector工具

  开发者可以使用ArkUI Inspector工具分析布局,在 DevEco Studio 上查看应用在真机上的 UI 显示效果,识别布局问题,减少视图嵌套层次,提升页面布局性能。如需了解更多信息,请参考《DevEco Studio 4.0.0.400 使用指南》AOT编译模式部分。

DevEco Studio 4.0 Beta2工具还提供了Inspector双向预览能力,实现代码开发,布局展示,组件布局的交互展示。

3.2 DevEco Profiler 性能调优工具

  应用或服务运行期间可能出现响应速度慢、动画播放不流畅、列表拖动卡顿、应用崩溃或耗电量过高、发烫等现象,表明应用或服务可能存在性能问题。为了解决这些问
题,需要通过性能分析工具来定位分析哪些方面存在瓶颈点(例如 CPU、内存、图形、电池、网络),找出问题的根因,进而改善应用或服务的性能。
DevEco Studio 集成的 DevEco Profiler 性能调优工具(以下简称为 Profiler),提供场景化的性能调优体验,不仅方便开发者及时了解应用或服务的 CPU、内存、图形等资源
的使用情况,还提供了高效的问题定位能力,帮助开发者快速定位到问题所在代码。如需了解更多信息,请参考《DevEco Studio 4.0.0.400 使用指南》AOT编译模式部分。

3.3 AOT 编译模式

  AOT(Ahead Of Time)即预先编译,在程序运行前,预先编译成高性能机器代码,让程序在首次运行就能通过执行高性能机器码获得性能收益。方舟 AOT 编译器实现了 PGO (Profile-Guided-Optimization)编译优化,即通过结合预先 profiling 的运行时类型等信息和静态类型信息,预先静态地生成高性能优化机器代码。
在方舟 AOT 编译器中,记录预先 profiling 运行时类型等信息的文件称为 ap(ark profiling)文件。对性能有高要求的开发者可通过在 DevEco Studio 完成相关的编译配置,使用 AOT 编
译提升应用运行性能。如需了解更多信息,请参考《DevEco Studio 4.0.0.400 使用指南》AOT编译模式部分。

总结

  本文收集整理了些OpenHarmony应用开发相关的性能实践资料,包含ArkTS编程语言、UI界面性能优化、性能优化工具等。

参考资料

[1] 从TypeScript到ArkTS的迁移指导

[2] 改善布局性能

[3] 状态管理优秀实践

[4] LazyForEach:数据懒加载

[5] 性能提升的推荐方法

[6] 自定义组件的生命周期

[7] 组件复用场景

[8] 应用性能最佳实践

[9] Inspector双向预览

[10] HUAWEI DevEco Studio 4.0 Beta2下载地址

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2023-9-25 14:28:07修改
1
收藏
回复
举报
1条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

都是值得一学的资料

回复
2023-9-1 10:17:29
回复
    相关推荐