作为开发者,我们有时会被一些问题所困,导致在调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队在提升调试速度方面使用的一些技巧。接下来,我们会为您一一呈现那些我们认为最好的、节省您时间的、且方便与您的调试流程整合的小技巧。
虽然您的应用可能与本文假想中的示例应用大相径庭,但是本文所介绍的小窍门可以用在任何应用的开发上。
Log 的过滤与折叠
我们从经典调试法 —— printf 语句的一个小窍门说起。假设有一个游戏,它会在日志中打印它的帧数和用户的最终得分,那么该游戏就会在 Logcat 窗口中给出以下内容:
这里的输出信息中可能包含了许多您并不关心的内容,例如日期和线程 ID。您其实可以轻松地调整内容的显示,只需要点击 Logcat 工具栏中的设置图标,便会弹出一个 Configure Logcat Header 窗口,您可以在这里取消那些您不想看到的信息:
这样一来,您便获得了更加简洁、更加相关的日志输出,如下:
然而,这里仍然留下了许多混淆视听的内容,妨碍我们专注于 High Score 信息。您可以使用搜索功能解决这一问题,只要在 搜索 中输入一部分调试信息来对 Logcat 窗口进行过滤:
您经常会用到的搜索条件,可以通过 Edit Filter Configuration 添加到自定义过滤器中:
下面,添加过滤器的详细信息:
另一种减少混乱日志的方式是使用折叠功能,它可以把近似的日志折叠为同一组。您只需选中一条日志中的部分文本,右击鼠标,并选择 Fold Lines Like This :
当 Console 对话框出现时,点击 OK ,就可以将包含选中文本的近似日志整理到一起:
如果稍后您需要查看被折叠的信息,则可以点击某行来展开内容。这里也提供了方便您展开或收起折叠行的按钮。
在当前进程附加调试器
虽然我们可以通过 Debug 按钮或菜单选项启动一个调试会话,但当您想要调试一个已经启动的应用时,也可以为其附加一个调试器,这样就可以不用重启应用。您可以点击 Attach Debugger to Android Process 按钮来执行这一操作:
在 Choose Process 弹窗中,选中您希望附加调试器的进程并且点击 OK 。接下来