美文网首页
Annotation 常用注解

Annotation 常用注解

作者: 焦百万 | 来源:发表于2018-12-01 16:40 被阅读0次

文档


一剑围城
Android官方文档

常用


1、@TargetApi

2、@RequiresApi

3、@suppressLint

4、@SuppressWarnings

解释


@TargetApi(18)
方法:只有一个int value() 方法,只能传整形值。18或Build.VERSION_CODES.JELLY_BEAN_MR2。
作用:Lint会按照API版本M以上扫描代码,而不是project中指定的minSDKVersion,可以使得高版本Api在低版本SDK上Lint不报错。如果只加这个注解,表明这段代码只能在23及以上的系统上运行,如果你非要在23以下的系统上运行,则会报错。建议在方法内部做版本判断,来确保运行不会出问题。

@RequiresApi(api = Build.VERSION_CODES.M)
方法:int value()、int api() 可以传整数值,也可以 api = Build.VERSION_CODES.JELLY_BEAN_MR2。
作用:表示注解目标只能够在指定的版本及以上API运行,消除高版本Api在低版本SDK上的报错,作用上和TargetApi相同,在低于目标版本API下运行一样会报错。从官方的表述可以看出更推荐使用RequiresApi替换TargetApi。建议在方法内部做版本判断,来确保运行不会出问题。

@SuppressLint("NewApi")
方法:String[] value() 可以传String。
作用:最直接暴力屏蔽指定名称的报错,这里的NewApi对应的具体错误名称是:Calling new methods on older versions。这里的NewApi只是一个缩写名称。相比于@TargetApi指定了版本号,SuppressLint是一律屏蔽,所以一般不建议使用。当然还可以指定任何其他Lint定义好的错误名称。在settings中查找Inspections可以找到预先定义好的所有Error、Warning。对于多个错误,使用逗号隔开。

相关文章

网友评论

      本文标题:Annotation 常用注解

      本文链接:https://www.haomeiwen.com/subject/sorrcqtx.html