惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
N
Netflix TechBlog - Medium
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 叶小钗
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
T
Threat Research - Cisco Blogs
腾讯CDC
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Hacker News
The Hacker News
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
T
Tenable Blog
S
Secure Thoughts
T
Threatpost
V2EX - 技术
V2EX - 技术
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
罗磊的独立博客
P
Privacy & Cybersecurity Law Blog
Engineering at Meta
Engineering at Meta
小众软件
小众软件
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
Y
Y Combinator Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
P
Privacy International News Feed
H
Heimdal Security Blog
量子位
B
Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
用DevEco Studio增量补丁修复功能,让鸿蒙应用的调试效率大增
华为开发者联盟 · 2025-04-18 · via 人人都是产品经理

在鸿蒙应用开发的快节奏赛道上,每一秒的开发效率提升都至关重要。如何更快地看到代码更改后的效果?如何尽可能缩短开发、调试和验证的周期?如何做到在某大厂180万行+项目中将代码修改即时生效?这些问题在DevEco Studio中得到了很好的解答,而增量补丁修复便是其中的核心特性之一。今天,我们要深入探讨鸿蒙应用增量补丁修复及其两个能够大幅加速开发进度的强大功能——Hot Reload和Apply Changes。它们就如同给你的开发旅程中加入了超级引擎,让你的代码更新效率大增。

增量补丁修复是代码修改快速生效的特性统称,包含增量补丁构建及补丁修复两个过程。顾名思义,增量补丁构建是在开发者修改代码后,仅对代码的修改部分进行增量产物构建并打成补丁包,而不是漫长的全量编译,这一过程能够节省开发者大量的时间。而补丁修复则是替换并更新运行时中对应方法或文件并重载到应用中,最后重新构建界面渲染树,根据生效场景不同,又可分为热修复和冷修复,热修复就是在补丁包完成修复后无需重启应用(ability)即可使修改生效,并可保持应用当前的运行状态,如变量、页面位置等,而冷修复则是需要重启应用(ability)才可使修改生效。是否需要重启主要取决于修改的方法或属性是否能够被重新刷新,即有些方法或属性的生命周期只会在启动应用时初始化,并在应用的整个生命周期中保持,如全局变量。

图1 增量补丁修复原理图

当前鸿蒙应用开发支持多种修改场景,包含ArkTS、TS、C++、SO、资源文件的修改,相应的增量补丁修复也分别针对不同的修改场景,产生了两种不同的增量补丁修复方式,分别为强力支持ArkTS开发的Hot Reload和支持能力更为广泛的Apply Changes。那么这两种补丁修复有哪些使用场景,又分别是何种原理?且听下文分解。

Hot ReloadArkTS开发加速神器

ArkTS是HarmonyOS应用开发的官方高级语言,在鸿蒙应用的界面和交互开发上具有天生优势。而鸿蒙应用开发工具DevEco Studio中的Hot Reload特性则是针对ArkTS深度定制的开发效率提升能力,快速的增量补丁构建加无需重启即可使修改生效,使得Hot Reload定位为ArkTS开发加速神器。

使用Hot Reload十分的便捷,在IDE右上角选择热重载运行配置及入口模块后,运行项目并进行代码修改,点击Hot Reload按钮即可使修改生效。

图2 Hot Reload使用位置

除此之外,Hot Reload还能够与保存动作进行关联,修改后保存代码即可自动执行Hot Reload,能够非常大程度提升开发的流畅度。

图3 保存执行Hot Reload开关位置

Hot Reload有三大显著优势:及时反馈、保持应用状态、开发更流畅,下面将分别介绍这些优势。

及时反馈:在应用开发中,UI的频繁调整是家常便饭。无论是修改按钮的颜色、调整字体大小,还是重新布局组件,传统的开发方式通常需要重新运行工程才能看到效果。在万行级ArkTS代码项目中,Hot Reload修改生效速度能够比全量构建生效速度快70%以上,而在十万行级以上ArkTS代码项目中,Hot Reload修改生效速度能够比全量构建生效速度快50%以上(

数据来源于内部统计)。Hot Reload让这一切变得无比高效,无需频繁进行耗时长的重新运行工程,即刻就能看到逻辑、样式的更改效果,开发过程中的试错成本大幅降低。

图4 使用Hot Reload快速调整样式

保持应用状态:与完全重启应用不同,Hot Reload的技术理念是热修复,无需重启应用即可使代码修改生效,这就使得Hot Reload在大多数情况下会保留应用的运行状态,这对于演示和分享应用进展、调试需要复杂导航(如登录后操作)等场景尤为重要,避免了重新启动应用后手动恢复状态的麻烦。

图5 可保留应用状态查看修改效果

开发更流畅:通过开启保存自动执行Hot Reload,无需感知生效方式和过程,保存后自动快速看到修改效果,大幅减少了开发过程中的间断感。基于仅对修改代码的增量构建,你可以像在纸上快速涂改一样,迅速调整代码,马上看到效果,而不用每次都重新绘制整张纸,减少等待时间意味着更多的开发时间。开发者可以更高效地完成任务,将时间花在真正重要的事情上。

图6 Hot Reload支持对资源引用的修改

Hot Reload的原理从首次启动运行开始,DevEco Studio会在应用首次编译构建时生成增量所需的map文件,记录首次全量编译的相关信息,基于这个map文件,针对后续的修改,IDE能够识别修改的文件,调用方舟编译器只编译修改的文件,得到增量字节码文件,再打包通过HDC发送到设备,由包管理进行安装,虚拟机更新字节码,最后由ArkUI重建界面渲染树。

图7 Hot Reload流程概览图

几个实用小Tips分享给大家:

  • 小步快跑:分解更改为小块,每次修改后使用Hot Reload查看效果。
  • 结合状态管理:使用状态管理工具(如@State、@Prop)可以更好地控制状态,确保Hot Reload后状态的正确性。
  • 定期重启应用:在长时间开发后,建议偶尔完全重启应用,以确保代码和状态的一致性。

虽然Hot Reload能够给ArkTS代码开发带来愉快的体验,但它也有一些局限性,主要体现在如下几个方面:

一是无法应用某些更改,为保留应用状态以及更快速的编译,Hot Reload存在以下不支持场景:

  • import新增未使用过的文件;
  • @Entry修饰的入口文件内struct成员函数、成员变量的新增、修改;
  • @Entry修饰的入口文件内枚举键和值、接口对象的修改;

获取更详细的使用约束可见HotReload使用说明

二是状态保留的局限,某些复杂场景下,应用的状态可能无法正确保留,尤其是当状态管理不当时。另外还有使用范围有限,Hot Reload仅支持ArkTS、TS代码的更改,对于C++、资源文件、SO文件的更改,可选择使用同样快速但是需要重启应用的Apply Changes或完全重启。

Apply Changes:神通广大的多面手

为满足其他语言、文件快速开发的需要,Apply Changes特性应运而生,相较于Hot Reload,Apply Changes同样针对修改的增量部分进行编译,具有快速生效的优点,但是为支持C++、资源、SO等复杂的加载场景,Apply Changes还会进行重启设备上应用的动作。即以牺牲应用状态保持为代价,获得更为广泛的支持能力,Apply Changes目前能够支持C++、SO、资源文件的修改,是当之无愧的多面手。

使用Apply Changes与使用Hot Reload类似,区别在于Apply Changes的按钮在普通运行配置下。

图8 Apply Changes使用位置

Apply Changes的显著优势也有三个,具体如下:

一是支持更多样的文件修改:

目前Apply Changes能够同时支持C++、SO、资源文件的一种或多种修改快速生效,且修改场景限制较小。

图9 Apply Changes支持C++代码修改生效

二是仅需一次推包,关闭应用后也可直接进行Apply Changes:

关于C++、SO以及资源文件的增量编译及打包都是与工程的运行状态解耦的,只要设备中已经安装工程对应的应用,那么无需运行工程,直接修改代码点击Apply Changes即可自动拉起应用,使修改生效,避免再一次全量构建。

图10 停止运行后无需再次运行,即可Apply Changes

三是稳定性更高:

由于Apply Changes能够重启应用,能够及时进行增量补丁的重新加载,避免了潜在的状态不一致问题,修复因状态污染可能导致的逻辑异常。

图11 Apply Changes支持资源文件修改生效

与Hot Reload类似,IDE在首次全量运行后会缓存部分信息用于后续差异比较,后续修改C++代码后,点击Apply Changes会基于缓存信息构建增量补丁包,具体而言是,启动SO的cmake流程构建SO,通过与缓存信息比较,识别出差异SO再构建增量包。构建完成后IDE会关闭设备上的应用,进行修复更新,结束后再重新拉起应用,完成代码生效。

图12 Apply Changes流程概览图

Apply Changes的几个实用小Tips也分享一下:

  • 优先使用HotReload快速验证UI和ArkTS代码逻辑;
  • 遇到复杂修改,及非ArkTS代码修改时再使用ApplyChanges;
  • 定期通过全量运行确保应用整体稳定性;

同样Apply Changes也有局限性,主要体现在如下两个方面:

首先是应用的状态无法保留,Apply Changes采用冷修复的技术路线,会进行应用重启行为,因此无法对应用状态进行保留,如丢失输入内容、路由栈会被重置到初始页面。然后是暂时无法支持ArkTS、TS代码文件的修改,目前Apply Changes未能做到同时支持ArkTS、TS代码的增量编译,无法支持ArkTS、TS代码的修改生效。

在鸿蒙应用开发中,Hot Reload和Apply Changes各有侧重,Hot Reload能够快速调整UI及ArkTS代码逻辑,同时能够保留应用状态,具有快而轻的特点。而Apply Changes是针对非ArkTS代码的修复利器,具有全而稳的特点,能够进行复杂的修改,同时避免长时间运行可能产生的错误。根据需求灵活选择,才能进一步提升开发效率,尽快为用户提供更好的体验。