一、使用Android Sutdio自带的代码检查工具Analyze优化代码
1、启动Android Studio,在页面上方的工具栏中可以找到Analyze
2、Inspect Code:检查代码
点击之后,需要选择检查的范围和策略。
检查范围:整个project ,app Module,主Activity,自定义区域,是否包括测试资源。
运行Inspect Code后,可以看到产生了很多错误,但是这些问题不会影响正常运行,但会影响apk的性能或者大小,所以需要进行代码优化。
(1)Android->Lint显示的错误:
Accessibility,Correctness,Internationalization,Performance,Security,Usability
右侧面板会给出错误的解决方案:
(2)Internationalization:国际化
(3)Performance:性能
(4)Security:安全
AllowBackup/FullBackupContent Problems:不要开启,allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,可能会带来一定的安全风险。
(5)Class structure:代码结构
(6)Spelling:拼写错误
(7)XML:
注:Xml优化包括tag空body,没有使用的命名空间声明等。
3、Code Cleanup:代码清理
4、Run Inspection by name:利用检查的名字来进行检查
查找所有没有被使用的定义:
5、infer nullity:推断可能为null的位置
6、此外,使用Inspect Code时可以点击 Custom scope 自定义检查范围
Project Files:所有项目文件
Project Production Files:项目的代码文件
Project Test Files:项目的测试文件
OpenFiles:当前打开的文件
Module ‘app’:主要的 app 模块
Current File:当前文件
除了内置的选项我们还可以自己选择特定的类进行检查。
点击选择框右侧“…”,会弹出自定义范围选择框,默认是空的,我们可以点击左上角的“+”号新增一个检查范围:
Local:只能当前项目使用
Shared:其他 Android Studio 项目也可以使用
之后就可以点击左边的 app 文件夹,再点击右边的 Include Recursively 按钮,选择APP内的文件进行扫描测试。
二、Android Studio中使用junit做单元测试
1、首先,在工程添加junit依赖。在App目录下的build.gradle中添加依赖:“testCompile 'junit:junit:4+'”
2、打开需要测试的JAVA文件,“右键”->选择“Go To”->"Test"
这时会跳出一个对话框:
3、点击“Create New Test”可以得到引导对话框
此外,也可以通过选择类名,并按“alt + enter”快捷键,在弹出提示框后选择“Create Test”并按“enter”键打开引导对话框:
可以在“Create Test”面板中指定生成setUp方法和tearDown方法,选择需要测试的方法后点击0K:
4、选择生成代码的目标目录
若需要使用到Android系统提供的库的测试代码就选择AndroidTest目录,若只需要Java原声的目录就可以完成所有逻辑就选择test目录,后面的包名系统会自动生成。此处我选择test目录,并点击OK:
生成了一个新的Class文件,文件中有三个方法(setup、tearDown、Oncreate),其中setUp和tearDown是之前选择的方法。
5、在文件中添加测试代码后,选中此文件,右键->选择“ Run ‘文件名’ ”
6、控制台输出测试结果: