是否有任何用例示例,其中@RequiresApi比@TargetApi更有用

时间:2017-06-02 10:05:35

标签: android

要取消API级别警告,我通常更喜欢使用@RequiresApi,而不是@TargetApi

根据RequiresApi vs TargetApi android annotations

@RequresApi似乎比@TargetApi更新,更好

但是,有没有真正的用例,我们可以使用@RequiresApi来解决,但不能使用@TargetApi

1 个答案:

答案 0 :(得分:1)

@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;