转载请标明出处:一片枫叶的专栏
开发android程序时我们经常有可能使用比minCompileSdk更高版本才出现的API, 这时候IDE的lint检查会提示我们可能出现问题,可以通过设置@TargetApi或者是@SupressLint来屏蔽这些警告。
@TargetApi() 只屏蔽某一新api中才能使用的方法报的android lint错误
@SuppressLint(“NewApi”)屏蔽一切新api中才能使用的方法报的android lint错误
使用@TargetApi 这个注解,主要是使高版本API的代码在低版本SDK不报错;
例如AsyncTask.THREAD_POOL_EXECUTOR, 这个静态变量是API11才有的,需要在方法里面添加sdk版本控制,否则会报错。。。
// 使用了android11中新添加的API
@TargetApi(11)
public void tests() {
if (Build.VERSION.SDK_INT >= 11) {
AsyncTask.THREAD_POOL_EXECUTOR
}
}
这样代码逻辑跑在android11以下的机型上就不会出错了。