GeoQuiz项目总结——第四章

记录栈跟踪日志

这个方式就是打印日志了,因为有的时候代码出现问题,不一定就会造成奔溃了,就可以在需要的地方,利用Log.d(...)方式来打印相应的信息,来检查方法是否正常调用,并且数据值是否跟预计一致了。大量的日志输出也容易导致LogCat窗口信息混乱难读,因此可以在查看的时候也可以过滤掉一些暂时不需要查看的日志,或者直接选择TAG,就只打印某一些log日志了。

一般项目中都会自行封装一个专门打印Log日志的类,用于控制整个项目的日志输出。

设置断点

打断点也是程序员调试程序的常用方法,断点会在断点设置行的前一行代码出停止运行,然后我们可以逐行检查代码,看看接下来到底发生了什么。
在需要打断点的代码那行旁边,点个小红点出来,此时需要调试运行整个项目而不是直接运行,单击run旁边的debug。设备会报告说正在等待调试器加载,然后继续运行。

打印Log日志的优点是,在同一日志记录中可以看到多处的栈跟踪信息;缺点是,必须学习如何添加日志记录方法,重新编译、运行应用并跟踪排查应用问题。相对而言,断点调试的方法更为方便,当然不同场景下,打印日志会更加清晰、方便寻找解决问题线索,比如说一个循环中。

Android特有的调试工具——Android Lint

Android Lint是Android应用代码的静态分析器,它是无需代码运行就能检查代码错误的的特殊程序,凭着对Android框架知识的掌握,Android Lint深入检查代码,找出编译器无法发现的问题。

  • 选择Analyze -> Inspect Code...菜单项手动运行Lint
  • 选择Whole project。然后Android Studio会立即运行Lint和其他一些静态分析器开始分析代码。
  • 检查完毕,所有的潜在问题会按类别列出。
  • 展开Android Lint类别可看到项目中的具体Lint信息,继续展开看到更加详细的信息,包括问题发生的地方。

R类问题

有时候资源编译错误莫名其妙的出现,若遇到此类问题,可尝试如下操作

  1. 重新检查资源文件中的XML文件的有效性(某个布局的拼写有可能错误,拼写规范要遵守)
  2. 清晰项目(选择Build -> Clean Project,Android Studio会重新编译整个项目,消除错误,建议经常进行深度项目清理)
  3. 使用Gradle同步项目(若修改了build.gradle配置文件,就需要同步更新项目的编译设置。选择Tool -> Android -> Sync Project with Gradle Files菜单项,Android Studio会使用正确的项目设置重新编译项目)
    4.运行Android Lint(仔细查看Lint警告信息,在项目中也许就能在这个工具的帮助下获得意想不到的发现噢)

你可能感兴趣的:(GeoQuiz项目总结——第四章)