【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式

一、前言:

热更新调试 主要是为了解决大工程项目编译的时间过长,日常开发调试效率过低的问题。比如调试应用布局的开发,修改一些界面小属性,每次都需要重新编译整个项目,会费事费力。

官方给的数据指标如下: 在万行级ArkTS代码项目中,Hot Reload修改生效速度能够比全量构建生效速度快70%以上,而在十万行级以上ArkTS代码项目中,Hot Reload修改生效速度能够比全量构建生效速度快50%以上。

基本原理如下图所示: 热更新包括调试增量补丁构建及补丁修复两个过程。

顾名思义,增量补丁构建是在开发者修改代码后,仅对代码的修改部分进行增量产物构建并打成补丁包,而不是漫长的全量编译,这一过程能够节省开发者大量的时间。

而补丁修复则是替换并更新运行时中对应方法或文件并重载到应用中,最后重新构建界面渲染树,根据生效场景不同,又可分为热修复和冷修复,热修复就是在补丁包完成修复后无需重启应用(ability)即可使修改生效,并可保持应用当前的运行状态,如变量、页面位置等,而冷修复则是需要重启应用(ability)才可使修改生效。

是否需要重启主要取决于修改的方法或属性是否能够被重新刷新,即有些方法或属性的生命周期只会在启动应用时初始化,并在应用的整个生命周期中保持,如全局变量。

二、热更新调试设置步骤:

1.需要配置启动文件为热更新调试的模式:

从普通的entry,切换为带H的entry。

2.之后使用模拟器或者真机进行启动后,就会显示热更新的按钮:

此时你进行代码UI的修改之后,点击这个H按钮,就可以触发Hot Reload热更新。

3.为了更快捷触发热更新效果,即Ctrl+S保存代码修改后,就触发。需要配置快捷键:

需要先在菜单栏点击File > Settings,选择Tools > Actions on Save,勾选Perform hot reload,点击OK完成设置。修改代码后通过快捷键Ctrl + S即可触发Hot Reload。

三、热更新调试效果如下:

相关推荐
nashane2 小时前
HarmonyOS Wi-Fi连接用户操作监听全解析:从系统弹框到Promise回调
华为·harmonyos·harmonyos 5
Lanren的编程日记5 小时前
Flutter 鸿蒙应用数据版本管理实战:版本记录+版本回退+版本对比,实现全链路数据版本控制
flutter·华为·harmonyos
木斯佳7 小时前
HarmonyOS 本地存储实战:记账本案例改造实现日历联动
华为·harmonyos
李游Leo8 小时前
别让一张 12MB 的照片拖垮页面:ImageSource / PixelMap / ImagePacker 的工程化处理链路
harmonyos
nashane8 小时前
HarmonyOS 6学习:画中画(PiP)状态同步与场景化实战指南
学习·pip·harmonyos·harmonyos 5
@不误正业8 小时前
鸿蒙小艺智能体开放平台实战-接入系统级AI-Agent能力
人工智能·华为·harmonyos
IntMainJhy11 小时前
「Flutter三方库sqflite的鸿蒙化适配与实战指南:从入门到踩坑的本地数据库开发全记录」
数据库·flutter·华为·信息可视化·数据库开发·harmonyos
前端技术14 小时前
HarmonyOS开发:鸿蒙应用开发发展史
华为·harmonyos
Hello__777715 小时前
开源鸿蒙 Flutter 实战|自定义头像组件全流程实现
flutter·华为·harmonyos
IntMainJhy16 小时前
【flutter for open harmony】第三方库Flutter成就解锁彩纸动画的鸿蒙化适配与实战指南
harmonyos