Flutter:关闭运行App后提示Lost connection to device问题咨询
"Lost connection to device"提示产生原因
- 该提示是Flutter调试模式下的正常表现,不属于应用运行异常。调试运行时Android Studio会通过VM Service和App建立专用调试连接,用来支持热重载、日志输出、断点调试功能;当你手动滑动/按键关闭App进程时,调试连接会随进程销毁直接中断,就会弹出该提示。
- 关闭后你能正常打开使用App,是因为手动启动的App是脱离IDE调试连接的独立运行进程,此时IDE不会主动抓取该进程的运行日志、状态,所以你无法直接在开发工具中确认应用运行逻辑是否符合预期,和应用本身功能无关。
本地存储变量调用的校验方案
不需要反复杀进程碰运气,以下几种方案效率和准确率更高:
- 热重启快速校验
不需要杀掉应用进程,在读取local storage的代码逻辑处添加debugPrint语句,打印读取到的存储值,之后点击Android Studio顶部的热重启按钮(环形箭头图标,快捷键Ctrl+Alt+F5/ Cmd+Option+F5)。热重启会清空App内存中的临时状态,重新走应用初始化流程,触发本地存储读取逻辑,全程调试连接不会断开,你可以直接在Run控制台看到打印的读取结果,验证效率远高于杀进程重开。 - 附加进程调试冷启动场景
如果需要验证完全杀进程后的冷启动读取逻辑,可以按以下步骤操作:- 调试模式下正常运行App,完成本地存储写入操作
- 手动划掉关闭App,弹出断连提示无需处理
- 在模拟器桌面手动点开你的App,回到Android Studio依次点击顶部菜单
Run->Attach to Process,在弹出的进程列表中选中你的应用包名,即可重新建立调试连接,此时你预先加的日志、断点都会正常生效,可以直接观测冷启动阶段本地存储的读取结果。
- 直接查看存储文件校验
如果要确认本地存储的写入结果是否正确,可以直接查看模拟器内的应用私有存储文件:- 打开Android Studio侧边栏的
Device File Explorer - 进入路径
data/data/[你的应用包名]/,根据你使用的存储库找到对应文件:如果用shared_preferences就进shared_prefs目录打开对应xml文件,直接能看到所有键值对;如果用Hive、SQLite等库,也能在对应目录找到存储文件,打开即可确认写入值是否符合预期,不需要反复重启应用验证。
- 打开Android Studio侧边栏的
注意:测试本地存储逻辑请使用debug包,release包默认关闭调试日志输出,也不支持附加调试进程,会影响校验结果。
内容的提问来源于stack exchange,提问作者Rhendy rivaldo
相关产品推荐
相关产品推荐

