关闭

@SuppressLint("NewApi")和@TargetApi()的区别

标签: apiandroid注解
229人阅读 评论(0) 收藏 举报
分类:

在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@SuppressLint(“NewApi”)或者@TargetApi()。
那他们之间有什么区别呢,很简单,
@SuppressLint(“NewApi”)屏蔽一切新api中才能使用的方法报的android lint错误
@TargetApi() 只屏蔽某一新api中才能使用的方法报的android lint错误
举个例子,某个方法中使用了api9新加入的方法,而项目设置的android:minSdkVersion=8,此时在方法上加@SuppressLint(“NewApi”)和@TargetApi(Build.VERSION_CODES.GINGERBREAD)都可以,以上是通用的情况。
而当你在此方法中又引用了一个api11才加入的方法时,@TargetApi(Build.VERSION_CODES.GINGERBREAD)注解的方法又报错了,而@SuppressLint(“NewApi”)不会报错,这就是区别。

当然,不管你使用了哪个注解,作用仅仅是屏蔽android lint错误,所以在方法中还要判断版本做不同的操作,比如:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
//
} else {// Pre GINGERBREAD
//
}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

SuppressLint黄色警告的原因以及解决办法

一些常见的SuppressLint黄色警告及其解决办法。
  • qq_34706837
  • qq_34706837
  • 2017-02-10 10:42
  • 1332

关于HandlerLeak的一点理解

之前很多代码是这样写的: @SuppressLint("HandlerLeak") Handler handler = new Handler() { public void handleMe...
  • yuyuanhuang
  • yuyuanhuang
  • 2015-01-17 18:35
  • 3505

去掉注释行@SuppressLint的警告问题

使用Eclipse编译Android程序时经常会遇到@SuppressLint或者@SuppressWarnings黄色警告,虽然不去处理程序依然能够运行,但是强迫症表示看着实在不舒服。实际上,解决这...
  • cajian3
  • cajian3
  • 2016-08-29 11:10
  • 1791

Android中Build类以及@SuppressLint("NewApi")和@TargetApi()区别

1、类结构Object类的子类。2、类描述 Information about the current build, extracted from system properties. 从系统属性...
  • zhoutaochun
  • zhoutaochun
  • 2017-03-28 14:37
  • 400

【Android】高低API版本兼容之@TargetApi与@SuppressLint("NewApi")

使用@TargetApi annotaion, 使高版本API的代码在低版本SDK不报错 例如: AsyncTask.THREAD_POOL_EXECUTOR, 这个静态变量是API11才...
  • u011494050
  • u011494050
  • 2014-10-16 14:51
  • 6971

android.annotation包中TargetApi和SuppressLint注解

在android.annotation包中有两个注解: 1、TargetApi 2、SuppressLint TargetApi TargetApi注解可以使用在TYPE,METHOD,CUST...
  • hp910315
  • hp910315
  • 2016-05-11 15:36
  • 3090

安卓小技巧专栏(一)@TargetAPI + 版本判断实现高低API版本兼容

安卓开发中,在低版本SDK使用高版本的API会报错。一般处理方法是换一种实现方法,或者在高版本SDK中使用高版本API,低版本SDK中使用效果可能会差点的折衷方案;后者可以用如下技巧来实现。 步骤 ...
  • zhouhuakang
  • zhouhuakang
  • 2015-04-17 11:30
  • 879

@SuppressLint 报错

从别人那考的源码,报错,显示位置是@SuppressLint 一直没有用过注解方式,查了下, Lint是一个静态检查器,它围绕Android项目的正确性、安全性、性能、可用性以及可访...
  • xiangxue336
  • xiangxue336
  • 2014-02-26 10:11
  • 1047

@SuppressLint("DrawAllocation")作用和解决方法

在Android自定义控件中,经常会遇到这样的一些警告(如下图),这些警告如果不去处理的话,并不会影响我们程序的正常运行,但是总有强迫症的人看了会觉得很不爽,比如我就是其中一个。    其实,既然程序...
  • freelander_j
  • freelander_j
  • 2016-02-26 17:06
  • 1567

传智播客_Andorid_20天精通Android开发视频_第11天视频_视频_09_发送有序广播&有序广播和无序广播的区别

  • 2018-01-09 15:10
  • 59.70MB
  • 下载
    个人资料
    • 访问:23868次
    • 积分:471
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:13篇
    • 译文:0篇
    • 评论:3条
    交流群
    个人qq:2385313404
    android开发交流群:574424529
    最新评论