一、使用Android Sutdio自带的代码检查工具Analyze优化代码

1、启动Android Studio,在页面上方的工具栏中可以找到Analyze

 

android trace 分析性能 android studio 性能分析工具_java

 2、Inspect Code:检查代码

 

android trace 分析性能 android studio 性能分析工具_移动开发_02

 点击之后,需要选择检查的范围和策略。

检查范围:整个project ,app Module,主Activity,自定义区域,是否包括测试资源。

 

android trace 分析性能 android studio 性能分析工具_java_03

运行Inspect Code后,可以看到产生了很多错误,但是这些问题不会影响正常运行,但会影响apk的性能或者大小,所以需要进行代码优化。

 

android trace 分析性能 android studio 性能分析工具_移动开发_04

(1)Android->Lint显示的错误:

Accessibility,Correctness,Internationalization,Performance,Security,Usability

 

android trace 分析性能 android studio 性能分析工具_Android_05

 右侧面板会给出错误的解决方案:

 

android trace 分析性能 android studio 性能分析工具_Android_06

 

 

android trace 分析性能 android studio 性能分析工具_java_07

 (2)Internationalization:国际化

 

android trace 分析性能 android studio 性能分析工具_Android_08

 (3)Performance:性能

 

android trace 分析性能 android studio 性能分析工具_测试_09

 (4)Security:安全

 

android trace 分析性能 android studio 性能分析工具_Android_10

AllowBackup/FullBackupContent Problems:不要开启,allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,可能会带来一定的安全风险。

android trace 分析性能 android studio 性能分析工具_测试_11

 (5)Class structure:代码结构

android trace 分析性能 android studio 性能分析工具_android trace 分析性能_12

 (6)Spelling:拼写错误

android trace 分析性能 android studio 性能分析工具_java_13

 (7)XML:   

注:Xml优化包括tag空body,没有使用的命名空间声明等。

 

android trace 分析性能 android studio 性能分析工具_移动开发_14

3、Code Cleanup:代码清理

 

android trace 分析性能 android studio 性能分析工具_android trace 分析性能_15

android trace 分析性能 android studio 性能分析工具_android trace 分析性能_16

4、Run Inspection by name:利用检查的名字来进行检查

 

android trace 分析性能 android studio 性能分析工具_移动开发_17

 查找所有没有被使用的定义:

 

android trace 分析性能 android studio 性能分析工具_java_18

5、infer nullity:推断可能为null的位置

 

android trace 分析性能 android studio 性能分析工具_java_19

android trace 分析性能 android studio 性能分析工具_移动开发_20

6、此外,使用Inspect Code时可以点击 Custom scope 自定义检查范围

Project Files:所有项目文件

Project Production Files:项目的代码文件

Project Test Files:项目的测试文件

OpenFiles:当前打开的文件

Module ‘app’:主要的 app 模块

Current File:当前文件

 

android trace 分析性能 android studio 性能分析工具_移动开发_21

 除了内置的选项我们还可以自己选择特定的类进行检查。

点击选择框右侧“”,会弹出自定义范围选择框,默认是空的,我们可以点击左上角的“+”号新增一个检查范围:

Local:只能当前项目使用

Shared:其他 Android Studio 项目也可以使用

之后就可以点击左边的 app 文件夹,再点击右边的 Include Recursively 按钮,选择APP内的文件进行扫描测试。

 

android trace 分析性能 android studio 性能分析工具_android trace 分析性能_22

 

二、Android Studio中使用junit做单元测试

1、首先,在工程添加junit依赖。在App目录下的build.gradle中添加依赖:“testCompile 'junit:junit:4+'”

 

android trace 分析性能 android studio 性能分析工具_移动开发_23

 2、打开需要测试的JAVA文件,“右键”->选择“Go To”->"Test"

 

android trace 分析性能 android studio 性能分析工具_移动开发_24

 这时会跳出一个对话框:

 

android trace 分析性能 android studio 性能分析工具_测试_25

 3、点击“Create New Test”可以得到引导对话框

 

android trace 分析性能 android studio 性能分析工具_Android_26

 此外,也可以通过选择类名,并按“alt + enter”快捷键,在弹出提示框后选择“Create Test”并按“enter”键打开引导对话框:

 

android trace 分析性能 android studio 性能分析工具_android trace 分析性能_27

可以在“Create Test”面板中指定生成setUp方法和tearDown方法,选择需要测试的方法后点击0K:

 

android trace 分析性能 android studio 性能分析工具_java_28

4、选择生成代码的目标目录

若需要使用到Android系统提供的库的测试代码就选择AndroidTest目录,若只需要Java原声的目录就可以完成所有逻辑就选择test目录,后面的包名系统会自动生成。此处我选择test目录,并点击OK:

 

android trace 分析性能 android studio 性能分析工具_移动开发_29

 生成了一个新的Class文件,文件中有三个方法(setup、tearDown、Oncreate),其中setUp和tearDown是之前选择的方法。

 

android trace 分析性能 android studio 性能分析工具_移动开发_30

5、在文件中添加测试代码后,选中此文件,右键->选择“ Run ‘文件名’ ”

 

android trace 分析性能 android studio 性能分析工具_java_31

 6、控制台输出测试结果:

 

android trace 分析性能 android studio 性能分析工具_测试_32