推动开源鸿蒙RN版本演进与性能优化 共创跨平台体验新标杆
10月24日,在QCon全球软件开发大会上海站的 HarmonyOS 开发者技术分论坛上,华为终端BG软件主任工程师带来了《开源鸿蒙 React Native 性能体验提升实践与思考》的主题分享,深入解析了开源鸿蒙React Native(RN)版本的最新进展,以及在性能和负载优化方面的实践探索。
开源鸿蒙RN版本快速演进,助力应用RN业务高效商用
随着鸿蒙生态的持续壮大,开发者迎来了除 Android 与 iOS 之外的“第三种选择”。React Native(RN)作为业界广泛应用的跨平台开发框架,兼具开发效率与性能优势。推进 RN 框架的鸿蒙化适配与版本演进,将有助于开发者复用原有技术栈,快速构建高性能的鸿蒙应用,有效缓解“加入一个新生态就会增加一倍投入”的行业困境,实现“一套代码、多平台复用”的开发体验。
据华为专家介绍,依托开源鸿蒙社区平台,华为携手产业界及学术界力量共同交付RN跨平台框架的开源鸿蒙版本。通过开源共建的模式,开源鸿蒙RN版本快速迭代,能力不断完善,已支撑200多个应用RN业务商用。其中,在头部200多个鸿蒙应用中,有40多款涉及RN框架,均已全部实现商用。更多应用仍在快速、健康适配中,为鸿蒙生态的持续扩展奠定坚实基础。
多维优化路径,提升性能与能效体验
在社区伙伴的共同合力下,开源鸿蒙RN版本在性能、负载优化等方面取得了显著成效。现场,华为专家从架构设计、编译优化、系统资源调度、能效控制等多个维度进行了全方位分享。
架构层面,RN Mount 段通过 C++ 对接 ArkUI 的 C-API 接口,无跨语言流程,大幅度提升端到端性能。目前,开源鸿蒙RN各版本都已对接ArkUI C-API接口,显著提升了页面交互性能。
虚拟机侧,龙雀 JS 引擎通过三级JIT流水线优化、LLVM编译优化、Builtins PGO重排、灵活GC(暴露GC调参接口)、codecache等技术,在 V8 虚拟机的基础上实现约20%的性能提升,相比原始版 Hermes 提升更为明显,开发者只需修改两行代码即可调用。
编译器优化方面,开源鸿蒙RN通过毕昇编译器支持 LTO/PGO 等高级编译优化技术,实现 5~8% 的性能提升与 2~5% 的负载下降,RN 库产物尺寸缩小约15%。
能耗与动画方面,LTPO在开源鸿蒙 RN上已实现衰变动画、帧动画、弹跳动画等三类原生动画适配,能够降低部分动画场景手机负载,让设备不发热,更节能。未来,将在RN JS动画上使能LTPO帧率动态调整逻辑,使其根据动画速度设置帧率。
页面时延优化上,Text 组件及 Stack 等控件通过结构优化,避免无效和重复的测量动作,让页面完成时延平均降低超过100ms(benchmark测试)。目前,该措施已落地开源鸿蒙RN全部版本。
携手推进类RN框架技术演进,共同繁荣鸿蒙生态
RN 框架在开源鸿蒙的持续演进,不仅依赖华为自身的研发投入,更离不开开源社区的协同共建。未来,华为还将携手更多伙伴,在开源社区上对RN框架以及包括 Lynx、Taro、Hippy、Mach、AJX、Cube、KDS、DX、Talos、Picasso等在内的类RN框架进行技术演进的探讨,共同推进性能、负载优化方案的落地,构建开发者友好的跨平台框架生态,推动鸿蒙应用开发迈入高质量发展新阶段。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
1024致敬鸿蒙开发者:鸿蒙生态全速进击背后的真正主角
每一行代码,都是照亮数字世界的一颗星;每一个梦想,都值得被温柔以待。这不是一场简单的庆祝,而是一次真挚的致敬。在1024程序员节这个属于所有开发者的日子里,华为鸿蒙团队携星光与敬意,奔赴全国各地,发起“星光不负 码向未来”致敬活动,就是想亲口告诉您:鸿蒙生态每一点“加速度”的背后,都是您智慧与汗水的结晶;您书写的不是冰冷的代码,而是我们共同热爱的未来。你们,值得被看见、被喝彩! 鸿蒙生态,跑出“加速度” 在10月22日的HarmonyOS 6发布会上,华为终端宣布正式上线仅一年时间的HarmonyOS 5终端设备数已突破2300万。鸿蒙开发者们共同打造了智能终端史上发展最快的操作系统,而“2300万”不仅是鸿蒙生态的又一里程碑,也是用户对开发者付出的真实认可。在超800万开发者的托举下,鸿蒙生态正跑出“加速度”,也正以技术活力与市场表现回馈开发者的支持。 共赴璀璨,畅聊鸿蒙未来 10月15-24日期间,鸿蒙生态拓展代表奔赴爱奇艺、哔哩哔哩、邦盛SDK、超级课程表、钉钉、DX map SDK、ETC+、Emobile10、高德地图、汉王科技、今日校园、井冈山、快手、蓝凌KK、mWork...
-
下一篇
详解ROMA中复杂图表的渲染实现
一、背景 ROMA承接很多复杂图表的渲染需求,在京东金融APP内,特别是首页首屏的图表,对图表渲染的及时性要求很高。近期业务反馈频繁重启时,首页的黄金走势图偶现渲染不出的问题,通过梳理图表的渲染流程,对缓存策略、视图加载和渲染过程进行了重构,确保渲染成功率,提升了渲染速度以及补充了异常重试的功能。 二、使用场景分析 京东金融App内有很多使用复杂图表的业务场景,以下截取部分场景。下图分别是黄金历史金价的走势图、用户购买的基金的收益走势图、小金库的收益柱状图、用户投资诊断的雷达图、省钱账单和AI助手账单趋势柱状图。 可见,金融App内图表的使用具备种类丰富、数据信息量大,定制程度高、交互频繁等特点,经调研发现,Apache ECharts 是一个基于 JavaScript 的功能强大的开源可视化图表库,被广泛应用于数据分析、监控系统、报表工具等领域。并且支持定制支持的图表类型,可降低图标库的体积和提升图标库的加载速度。由于原生端并没有类似的图表库,因次决定在 ROMA 中引入 ECharts 来承接复杂图表的显示需求 。 三、重构过程分析 1、原理分析 ROMA 对外提供 echart...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL数据库中FOR UPDATE的使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL表碎片整理
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Crontab安装和使用

微信收款码
支付宝收款码