如何让Android Studio热重载的修改在停止调试会话后仍能保留?
问题原因说明
这个现象是Flutter调试模式的原生设计,并非开发环境故障:
热重载的本质是将修改的代码增量注入到当前运行的Dart VM内存中,不会主动触发编译逻辑将修改写入设备本地的APK安装文件。只有触发构建、热重启这类涉及本地文件写入的操作时,修改才会持久化到设备存储中,进程结束或者应用重启后依然生效。
你测试中第二次添加的Text组件仅触发了热重载,修改仅保留在内存中,因此拔线重启应用后就会丢失。
无冗余代码的解决方案
- 方案1:结束开发前触发热重启
完成最后一次代码修改后,按Android Studio调试模式下的热重启快捷键Ctrl+\(Mac系统为Command+\)即可,耗时仅1-3秒,会自动将所有内存中的热重载修改同步写入设备本地存储,重启应用不会丢失,不需要修改任何代码。 - 方案2:结束开发前触发一次增量运行
按运行快捷键Shift+F10(Mac系统为Control+R),执行一次增量构建并安装到设备,所有修改都会打包到本地APK中,适合需要确保修改完全生效的场景。 - 方案3:临时生成Debug安装包
如果需要长时间离线展示效果,可以直接打Debug包安装到设备,包内包含当前所有代码修改,不受调试会话断开的影响。
内容的提问来源于stack exchange,提问作者KGEM
相关产品推荐
相关产品推荐

