注解包:android.support.annotation
引入:
compile 'com.android.support:support-annotations:25.+'
资源类型
常用资源
- AnyRes
- AnimRes:
R.anim.*
- AnimatorRes:
R.animator.*
- ArrayRes
- BoolRes
- ColorRes
- DimenRes
- DrawableRes
- FractionRes:百分比数字
- IdRes
- IntegerRes
- LayoutRes
- StringRes
非常用资源
- AttrRes
- StyleableRes
- StyleRes
- InterpolatorRes
- TransitionRes
- MenuRes
- XmlRes
- RawRes
运行线程类型
- MainThread:App唯一主线程,用于标记生命周期相关方法
- UiThread:通常唯一的UI线程,用于标记View相关方法
- WorkerThread:任意后台线程
- BinderThread:Binder线程,用于IPC进程间通信
值范围指定
- Nullable
- NonNull
- Size:确定数值参数范围,或元素长度
- IntRange:整型参数范围
- FloatRange:浮点型参数范围
- ColorInt:数值或数组元素用作颜色代码
- IntDef:表示取值区间为一组具备枚举效果的常量整型,用于定义新注解
- StringDef:表示取值区间为一组具备枚举效果的常量字符串,用于定义新注解
其他
- Dimension:为目标数值指定一个尺寸单位
- Px:该数值表示一个像素,相当于
@Dimension(unit = Dimension.DP)
- CallSuper:提示覆盖方法应该回调父函数
- CheckResult:表示该方法的返回值通常需要执行检查或被访问调用
- RequiresApi:提示该元素需要指定 API 版本支持
- RequiresPermission:提示该方法需要特定权限,用于编译时检查
- Keep:保留代码避免 Proguard 过程混淆
- VisibleForTesting:单元测试期间解锁访问限制