SupportAnnotation使用

使用注解库

android为我们提供了注解库,帮助我们在编译工程前及时的发现一些问题。达到在代码编译编译期间,编辑器帮助我们检查的效果

Nullness 设置参数是否可以为空

@Nullable作用于函数的参数或者返回值,表示值可以为空
@NonNull 表示值不可以为空

资源类型注解

AnimatorRes :表示资源是R.animator
AnimRes:表示资源是R.anim
AnyRes:表示为任何一种资源
Boolean :表示值是boolean类型
ColorRes:表示值是R.color
DrawableRes:表示值是R.drawable
IdRes:表示值是id类型
RawRes:表示值是R.raw
LayoutRes:表示值是R.layout的类型

使用整形值达到枚举的作用

使用@IntDef 讲允许的值传递给该注解,在使用时达到枚举的效果


SupportAnnotation使用_第1张图片
22E29C78-BDAA-4B8A-A660-5DE743782B8B.png

SupportAnnotation使用_第2张图片
47516EFC-FE78-42FE-BC45-1D2E04CCAEA4.png

线程注解

@UiThread 标记视图操作在主线程
@MainThread 标记业务在主线程
@WorkerThread 标记在后台线程工作
@BinderThread 标记在binder线程

值的范围注解

@Size:对于限定数组,集合,字符串长度时,可以使用
@Size(min=1) 集合不可以为空
@Size(max=2) 字符串最大长度是2
@Size(multiple=2) 长度为2的倍数

@IntRange(from=0,to=330)
参数的范围是0---330

权限注解

RequiresPermission 调用该方法时,检查有没有声明权限。
@RequiresPermisson(权限) 声明一个
@RequiresPermisson(anyof={权限,权限}) 至少声明范围内的一个
@ RequiresPermisson(allof={权限,权限}) 全部都要声明

keep保证方法不会混淆

@keep

你可能感兴趣的:(SupportAnnotation使用)