作者:IT狂人 | 来源:互联网 | 2022-11-30 13:49
TargetApi是否意味着必须在特定版本下调用代码,或者必须在大于或等于特定版本的情况下调用代码?例如
TargetApi(23)表示用于(23及以下)或(23及以上)?
1> navylover..:
@TargetApi(23)
表示仅应在给定的API级别23或更高级别上调用带注释的元素。
@TargetApi
注释仅由Lint使用,并且在运行时没有结果。如果我们在不检查TaregetApi和Lint的情况下使用更高的api,则在编译时不会提示我们,并且代码在运行时可能会崩溃。
编辑:
@RequiresApi
用此方法注释方法后,无论何时调用该方法,都会收到一个红色的警告,表明此调用要求的api版本高于最低api版本。
@TargetApi
它抑制了在您的方法中调用新api的警告,但是当您从其他地方调用此方法时,根本没有棉绒警告。
@RequiresApi
较新且更严格,这两个注释也是lint助手,为避免崩溃运行时间,您应该自己检查api级别。