TargetApi
@TargetApi(Build.VERSION_CODES.HONEYCOMB) 表示代码使用了新的api,该API 要求的最小版本是Build.VERSION_CODES.HONEYCOMB 也就是 android 3.0 这是一个精确的标识方式。此时Android的Lint工具不会提示错误。
我们在低版本设备上运行高版本API,程序有可能会崩溃,那么这时候就要根据不同的版本做兼容处理:
...
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
//3.0以上的API实现某种功能
}
else {
//3.0以下版本API实现同样功能
}
...
SuppressLint
@SuppressLint(“NewApi”) 告诉Lint代码中启用了新的api。不要提示错误。这个没有@TargetApi注解好,原因就是它没有显示的指明API的级别,开发者很难知晓这个API可以在哪些API等级上使用,如果运行在不兼容此API的机器上,容易崩溃。