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  
           //  
}  

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM