为了抑制API级警告,我通常更喜欢使用@RequiresApi而不是@TargetApi

正如RequiresApi vs TargetApi android annotations所说,@RequresApi似乎比@TargetApi更新和更好。

但是,有没有真正的用例,在这里我们可以使用@RequiresApi而不是@TargetApi来解决?

最佳答案

@RequiresApi更加,很明显,如其文档中所述。

此外,@RequiresApi具有FILED目标:

@Retention(CLASS)
@Target({TYPE,METHOD,CONSTRUCTOR,FIELD})
public @interface RequiresApi {
...

@TargetApi不:
@Target({TYPE, METHOD, CONSTRUCTOR})
@Retention(RetentionPolicy.CLASS)
public @interface TargetApi {
...

因此,@RequiresApi可以像这样使用:
@RequiresApi(api = xxx)
private Foo bar;

关于android - 是否有任何用例示例,其中@RequiresApi比@TargetApi更有用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44326254/

10-13 04:10