Flutter 核心技术与实战
陈航
前美团点评高级技术专家
42432 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 48 讲
Flutter 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

36 | 如何通过工具链优化开发调试效率?

可视化控件布局详细数据
辅助线展示控件元素的布局边界
在不同环境下开启日志调试功能
定制打印行为
Flutter Inspector
Debug Painting
查看信息
调试应用
标记断点
debugPrint函数
print函数
Flutter的布局调试能力
Android Studio提供的Flutter调试功能
定制日志输出能力
布局调试
断点调试
输出日志
思考题
总结
如何通过工具链优化,来提高开发调试效率?

该思维导图由 AI 生成,仅供参考

你好,我是陈航。今天我们来聊聊如何调试 Flutter App。
软件开发通常是一个不断迭代、螺旋式上升的过程。在迭代的过程中,我们不可避免地会经常与 Bug 打交道,特别是在多人协作的项目中,我们不仅要修复自己的 Bug,有时还需要帮别人解决 Bug。
而修复 Bug 的过程,不仅能帮我们排除代码中的隐患,也能帮助我们更快地上手项目。因此,掌握好调试这门技能,就显得尤为重要了。
在 Flutter 中,调试代码主要分为输出日志、断点调试和布局调试 3 类。所以,在今天这篇文章中,我将会围绕这 3 个主题为你详细介绍 Flutter 应用的代码调试。
我们先来看看,如何通过输出日志调试应用代码吧。

输出日志

为了便于跟踪和记录应用的运行情况,我们在开发时通常会在一些关键步骤输出日志(Log),即使用 print 函数在控制台打印出相关的上下文信息。通过这些信息,我们可以定位代码中可能出现的问题。
在前面的很多篇文章里,我们都大量使用了 print 函数来输出应用执行过程中的信息。不过,由于涉及 I/O 操作,使用 print 来打印信息会消耗较多的系统资源。同时,这些输出数据很可能会暴露 App 的执行细节,所以我们需要在发布正式版时屏蔽掉这些输出。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何通过工具链优化来提高开发调试效率,重点围绕Flutter应用的代码调试展开。首先介绍了输出日志的重要性,并提出了使用Flutter提供的debugPrint函数来代替print,以实现定制打印的能力,同时通过不同的main文件来表示不同环境下的入口,从而实现不同环境下的打印日志行为。其次,详细介绍了断点调试的方法,包括标记断点、调试应用、查看信息等步骤,并通过实例展示了在Android Studio中进行断点调试的全过程。文章通过具体的操作方法和示例,为读者提供了优化开发调试效率的实用技巧,对于需要提高Flutter应用开发调试效率的开发者具有一定的参考价值。 文章还介绍了Flutter的布局调试能力,包括通过Debug Painting来定义辅助线,以及通过Flutter Inspector这种可视化手段来更为准确地诊断布局问题。通过这些工具,开发者可以更快速地发现界面中的问题,提高开发效率。同时,文章提出了思考题,引导读者思考如何将debugPrint在生产环境下的打印日志行为更改为写日志文件,从而引发读者的思考和讨论。 总的来说,本文通过介绍工具链优化、调试方法和布局调试能力,为读者提供了丰富的实用技巧和思考题,帮助他们提高Flutter应用的开发调试效率。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Flutter 核心技术与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • 和小胖
    老师,我看那个 debugPrint 跟 print 相比是能够打印出来更多的信息,防止在 Android 上面有时候一些信息漏打印。然后对于 debug 或者 release 打印日志的问题,那么是不是也可以提供一个打印日志的类,判断是不是 kDebugMode,是的话打印,不是的话直接 return 呢?

    作者回复: 也可以呀,39节里思考题就是类似的思路

    2019-10-28
    2
  • 哗啦啦
    请问 陈老师 。性能方面的参数有什么办法调试吗 ? 比如CUP 内存 占用等

    作者回复: CPU主要是通过火焰图来看;内存Devtools也有在线工具,可以帮你检查当前的内存分配情况,我们可以重点关注大对象

    2019-09-19
    2
  • Sen
    如果是混合开发的话,日志打印的文本的同时还需要和原生工程的日志合起来,可能还是需要用到桥接方法,线上产品经常是需要收集设备日志来排查问题,但是就不知道具体的性能损失了
    2020-11-30
  • 冯选刚
    这些日志其实还需要保存到本地,在有问题的时候也要捞出来。还有些日志error worn 级别的日志需要扔到线上,便于监控报警。要做的事情还有很多
    2020-10-25
  • Geek_159a45
    请问老师,在android工程中降flutter作为modlue源码依赖后,怎么做到断点调试flutter的代码呢
    2020-05-11
  • 无名
    老师,怎么解决print打印日志时日志过长显示不全的问题。
    2020-05-07
    2
  • 许童童
    感谢老师分享。
    2019-09-19
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部