Android中的@TargetApi and @SuppressLint

@TargetApi

这个注解的意思就是告诉Android的Lint工具,下面的类或者方法是与一个指定的API相对应的,忽略manifeset文件里面的minSdk的设置。

假如你不加这个注解的话,当你在用一个较新的api方法时候,如果manifest文件中定义的minSdk比这个方法对应的版本要低,Lint检测的时候会报错误或者警告。

注意这个注解,并不意味着在低版本的sdk中就可以使用高版本的api了,在代码中最好还要加上判断,如:

@TargetApi(11)
static public<T> void executeAsyncTask(AsyncTask<T,?,?> task,
                                          T...params){

if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.HONEYCOMB){
      task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,params);
  }else{
      task.execute(params);
  }
}
@SuppressLint('NewApi')

这个注解和上面的差不多,只不过唯一区别是targetApi确定了要忽略的目标api的版本,比如11,假如manifest文件中的minsdk更改过之后这个值可能也要跟着改变,但是@SuppressLint('NewApi')只要设置过之后,就等于在任意api版本都忽略了。

具体Lint的使用和说明,网上有很好的介绍了,我就不重复了:

http://blog.csdn.net/thl789/article/details/8037473

http://blog.csdn.net/thl789/article/details/8036066

阅读更多
换一批

没有更多推荐了,返回首页