zoukankan      html  css  js  c++  java
  • android.annotation.SuppressLint

    Lint是一个静态检查器,它围绕Android项目的正确性、安全性、性能、可用性以及可访问性进行分析。
    它检查的对象包括XML资源、位图、ProGuard配置文件、源文件甚至编译后的字节码。
    Lint包含了API版本检查、性能检查以及其他诸多特性。
    其中还有一个重要的改动是Lint可以使用@SuppressLint标注忽略指定的警告。
    lint官方的说法是 Improving Your Code with lint,应该是帮助提升代码的 ,
    如果不想用的话,可以右键点工程,然后在android tools 中,选择 clear lint marker 就没有这个错误了
    /*************************************************/
    @SuppressLint("NewApi") 在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  
               //  
    }  
    
    

     

  • 相关阅读:
    164 Maximum Gap 最大间距
    162 Find Peak Element 寻找峰值
    160 Intersection of Two Linked Lists 相交链表
    155 Min Stack 最小栈
    154 Find Minimum in Rotated Sorted Array II
    153 Find Minimum in Rotated Sorted Array 旋转数组的最小值
    152 Maximum Product Subarray 乘积最大子序列
    151 Reverse Words in a String 翻转字符串里的单词
    bzoj3994: [SDOI2015]约数个数和
    bzoj 4590: [Shoi2015]自动刷题机
  • 原文地址:https://www.cnblogs.com/liaojie970/p/5783390.html
Copyright © 2011-2022 走看看