代码分析

在Android Studio中,Google提供了很多代码分析工具,这些工具都集中在Android Studio的Analyze菜单中,如图3.84所示。

代码分析 - 图1 图3.84 代码Analyze

开发者平时可以通过使用这些分析工具分析代码结构,同时了解Android Studio提供的这些功能。

Inspect Code&&Code Cleanup

通过Inspect Code功能,可以让IDE分析整个工程,类似于Android的Lint分析,运行后,结果如图3.85所示。

代码分析 - 图2 图3.85 Inspect code

可见,Inspect Code不仅提供了Lint的检测功能,还提供了一些其他的代码静态分析结果,同时给出了大致的修改意见。在了解存在的问题之后,便可以有针对性地进行修复。你也可以选择Code Cleanup功能来进行自动的代码修复。这两个功能可以在Analyze菜单中找到,如图3.86所示。

代码分析 - 图3 图3.86 Inspect code&&Code cleanup

Dependencies

在Analyze菜单中,有几个Dependencies选项。通过这几个选项,可以快速分析项目的Dependencies依赖,如图3.87所示。

代码分析 - 图4 图3.87 分析项目依赖

通过Gradle的指令,开发者可以快速得到项目的依赖关系结构。

Analyze Data flow

这个功能用的不是太多,但是在某些情况下,对于熟悉旧的代码非常有帮助。它可以追踪数据流,了解该数据变量的来龙去脉。一个简单的示例,如图3.88所示。

代码分析 - 图5 图3.88 Dataflow from

图3.88显示的是Dataflow from local variable的结果,图3.89显示的是Dataflow to local variable的结果。

代码分析 - 图6 图3.89 Dataflow to

方法调用栈

对于某些方法来说,查看它被调用的地方和调用的顺序是非常重要的。在Android Studio中,通过快捷键“Control+Option+H”可以快速找到该方法的调用栈,如图3.90所示。

代码分析 - 图7 图3.90 方法调用栈

通过这个功能,开发者可以在分析代码时,快速了解代码的执行流程,而不用一个个类地去跟踪。