Android编程权威指南(第二版)学习笔记(四)—— 第4章 Android 应用的调试

本章主要说明了如何调 bug,有 LogCat 法、Lint 法以及断点调试法。

本章无新增代码

LogCat 大法

将代码中的一句关联控件语句(即 findViewById() 语句)注释掉之后运行程序将会出现下列错误:

Android编程权威指南(第二版)学习笔记(四)—— 第4章 Android 应用的调试_第1张图片

从图中可以看到是错误由 NullPointerException 引起,并且在 Caused… 那一行下方标明了具体出错的位置,此时如果下面出现自己的代码(如图中紫色字的 QuizActivity.java),基本上可以直接定位错误从而修改代码。其他的运行时错误也是用类似的方法修改。

另外可以在关键的方法里写 Log,这样使用 Log filter 查看调试日志就会非常方便。

Android Lint 大法

Android Lint 是 Android 应用代码的静态分析器(static analyzer)。它是无需代码运行就能够检查代码错误的特殊程序。凭着对Android框架知识的掌握,Android Lint 深入检查代码,找出编译器无法发现的问题。在大多数情况下,Android Lint 检查出的问题都值得关注。

Android Lint 还能够检查定义在 XML 文件中的对象类型与控件对象的匹配。如果使用了错误的资源 ID,代码运行时,会导致类型转换出现错误。显然,Java编译器无法检查到该错误,但Android Lint却可以捕获到该错误。

假如想主动查看项目中的所有潜在问题,可以选择Analyze → Inspect Code…菜单项手动运行 Lint。在被问及检查项目的哪部分时,选择Whole project。Android Studio 会立即运行 Lint 和其他 一些静态分析器开始分析代码。

检查完毕后,所有的潜在问题会按类别列出,展开Android Lint 类别即可看到项目的具体Lint信息。

断点大法

顾名思义……程序员基本素养,不赘述了。
补充一点,那就是在 debug 模式下可以直接把某个变量放到 WatchWindow 中进行实时观察,非常好用~

你可能感兴趣的:(Android学习)