燃爆上海 5·23-24,AICon 大模型实战风暴,50+ 干货一网打尽,100% 日程上线 了解详情
写点什么

快手上线鸿蒙应用高性能解决方案高效提升数据反序列化性能

  • 2025-05-16
    北京
  • 本文字数:926 字

    阅读完需:约 3 分钟

快手上线鸿蒙应用高性能解决方案高效提升数据反序列化性能

近日,快手在 Gitee 平台上线了鸿蒙应用性能优化解决方案“QuickTransformer”,该方案针对鸿蒙应用开发中广泛使用的三方库“class-transformer”进行了深度优化,有效提升了其数据反序列化性能,在典型场景下能够降低约 90%的数据转换耗时,为鸿蒙应用带来了更流畅的用户体验和更敏捷的交互响应。

 

 

在鸿蒙应用开发过程中,“class-transformer”三方库被广泛应用于将普通对象(如 JSON 数据)与类实例进行互转,是实现面向对象编程与数据序列化解耦的核心工具。随着业务复杂度的提升,该库在反序列化过程中逐渐暴露出性能瓶颈,影响用户核心体验。因此,对“class-transformer”进行优化,将带来明显的性能收益。然而,由于“class-transformer”在应用中广泛、深度使用,改造难度较大,且由于多业务场景间 model 类存在高度耦合,难以按业务场景维度进行渐进式改造优化。

 

在此背景下,“QuickTransformer”应运而生。它基于“class-transformer”的装饰器使用代码,可在编译时生成辅助函数,并在运行时通过 hook 方式自动替换原有反序列化调用逻辑,实现性能加速。同时它还支持按 model 类粒度配置开启,在多个 model 类耦合的场景,可以只对部分 model 类进行优化。

 

该方案最大的亮点在于无需修改“class-transformer”的使用代码即可实现性能优化,既保持了对原有开发模式的兼容性,又大幅提升了运行效率,整体改造过程无侵入、低成本、低风险,适用于已有项目的快速集成与上线。

 

在实际应用中,“QuickTransformer”也展现出卓越的性能提升效果。此前,快手主 APP 中大规模使用“class-transformer”,主要集中在反序列化方面,包含成员变量 rename、成员变量类型转换、成员变量层级转换、添加成员函数等场景。在经过“QuickTransformer”改造优化后,这些典型场景下的数据转换操作时间普遍降低 90%,从 100ms 降低到 10ms 以内,显著缓解了页面滑动卡顿、点击响应慢等性能问题。

 

目前,“QuickTransformer”已在 Gitee 平台上线并开源,开发者可到 Gitee 平台查看源码参与共建,共同打造更多高性能、高质量的鸿蒙应用。未来,华为还将联合伙伴持续共建创新,面向底座技术、通用能力、垂类行业等场景推出系列开发者场景化解决方案,不断提升鸿蒙应用的创新体验和开发效率,与广大开发者共建繁荣的鸿蒙生态。

 

2025-05-16 15:271

评论

发布
暂无评论

Zebec社区上线ZIP-2(地平线升级行动)提案,海量激励将被释放

股市老人

Python:Excel自动化实践入门篇 甲【送图书门票】

eng八戒

python excel

仅一小时点赞破万!GitHub爆赞的Spring Boot最佳实践

Java spring 微服务 Spring Boot 框架

Zebec社区上线ZIP-2(地平线升级行动)提案,海量激励将被释放

西柚子

EasyRecovery Photo16最新版本有哪些新功能?

茶色酒

EasyRecovery Photo16

Zebec社区上线ZIP-2(地平线升级行动)提案,海量激励将被释放

鳄鱼视界

Python 数学练习题(一)

漫步桔田

精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南

码界西柚

数据结构 延时队列 算法框架 DelayedQueue 时间轮(TimeWheel)

EasyRecovery16和谐版手机数据恢复软件下载

茶色酒

EasyRecovery16

数字孪生在智慧物流中的应用价值

申扬科技

智慧物流 数字孪生

PHP Windows 下 XAMPP 的 xdebug 配置

HoneyMoose

Java 数据类型(全网最全)

kcodez

Java 后端

电影排行榜(requests + bs4 & scrapy)

漫步桔田

人肉智能#003:为什么 Instagram 曾经值得尊敬

光毅

facebook Instagram

2023-02-25:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420SP格式文件,YUV420P不要转换成YUV420SP。

福大大架构师每日一题

golang ffmpeg 福大大

EasyRecovery16操作简单的电脑数据恢复软件

茶色酒

EasyRecovery16

CorelDRAW2023序列号及安装下载教程

茶色酒

CorelDraw2023

速来~与 Werner Vogels 博士一起探索敏捷性与创新速度一起提升的秘方

亚马逊云科技 (Amazon Web Services)

Python 数学练习题(二)

漫步桔田

IO:阻塞和非阻塞、同步和异步

小小怪下士

Java 程序员 io 异步 阻塞

刚插上网线,电脑怎么知道自己的IP是什么?

今天终于知道 Redis 为什么要用跳跃表了

Java 数据库 redis 缓存 跳跃表

Python 基础练习题(四)

漫步桔田

引领下一代操作系统技术方向 第一届OpenHarmony技术峰会成功召开

极客天地

极客时间架构训练营模块八作业-消息队列存储消息数据的 MySQL 表格

张Dave

新时代的技术领导力

agnostic

领导力

for循环中声明变量的一个问题回顾

老王同学

c++

架构实战营-模块三作业

🐢先生

架构实战营

快手上线鸿蒙应用高性能解决方案高效提升数据反序列化性能_HarmonyOS_HarmonyOS_InfoQ精选文章