为了抑制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;