提高代码质量-注解篇

Android support-annotations 是通过静态编译检测来提高代码质量的一个注解工具

1.资源类型注解:
一个常见的例子

@LayoutRes

public void setLayout(@LayoutRes int layoutId){
setContentView(layoutId);
}
setLayout(123);

这时候Lint(代码检测工具)会出现一个警告,资源常量和123都是int类型,如果没有该注解,就不会出现该警告。
类似情况还存在于String资源和颜色字符资源
一些常用的资源注解:

@LayoutRes
@ColorRes
@ColorInt
@StringRes
@AnimRes
@DrawableRes

2.检测参数或者返回值是否可以为 null

@NonNull指出一个参数变量或方法返回值永远不可为null
@Nullable指出一个参数变量或方法返回值可能为null

3.线程注解类型

@UiThread @MainThread(这两个表示的意义一样)
@WorkerThread @BinderThread

4.权限注解类型

@RequiresPermission
用来表明该函数执行需要一个或者多个权限如果没有声明这些权限则会给出警告

5.父函数调用

@CallSuper
来表明重写这个函数需要调用 super 父函数

6.值约束注解

@FloatRange(from=0.0,to=1.0)
@Size根据具体情况
@Size(max=10)字符串长度 @size(6)数组个数

7.混淆

@Keep
保证代码不被混淆

8.提示性的

@Deprecated表示当前方法即将废弃不推荐使用
@SuppressWarnings表示忽略编译器的警告信息。\n@link 链接处