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 讲允许的值传递给该注解,在使用时达到枚举的效果


22E29C78-BDAA-4B8A-A660-5DE743782B8B.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • 在网上搜到很多关于什么是线程安全的概念,找到的一般都是类似于下面的概念:“如果一个对象可以完全地被多个线程同...
    舞阳人的北京路阅读 7,036评论 2 4
  • 烟花三月下扬州,凉了一夜的雨,淅沥沥的滴在荷叶上面,南方,本来多雾。 打开落地窗,任未抽完的卷烟尾雾随风肆佪,我是...
    真爱是蓝色阅读 446评论 4 3
  • 我就像春天里的风筝 随风飘过,琉璃失所 一个真相,好似毁了我多年的梦 梦醒时风,我在我们大渭源遇到了我心中的女神,...
    8494fa2006c0阅读 314评论 0 1