博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android.annotation.SuppressLint
阅读量:5934 次
发布时间:2019-06-19

本文共 1076 字,大约阅读时间需要 3 分钟。

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

 

 

 

转载地址:http://jdjtx.baihongyu.com/

你可能感兴趣的文章
java B2B2C 仿淘宝电子商城系统-高可用的分布式配置中心
查看>>
JavaWeb学习笔记之EL表达式
查看>>
Qt5开发及实例学习之停靠窗口QDockWidget类
查看>>
幽灵交易者策略(附源代码)
查看>>
yum更换国内源、用yum下载rpm包和源码包的安装
查看>>
对抗粉尘攻击——CashShuffle正在保护BCHer隐私
查看>>
神经网络——构建非线性映射
查看>>
C++ Format
查看>>
人工智能将改变家电使用方式
查看>>
JAVA 大数据学习路线
查看>>
python的for循环怎么用?
查看>>
离线安装配置Android SDK方法
查看>>
使用Hessian远程上传文件遇到expected long at 0x25 (%)问题及解决
查看>>
RocketMq4.2.0 问题汇总
查看>>
org.springframework.asm.ClassReader.<init> Unknown
查看>>
Open Source Foundation
查看>>
OSChina 周五乱弹 —— 空即是色,色即是空
查看>>
OSChina 周三乱弹 ——不是你亲眼看到的都不是真的
查看>>
OSChina 周二乱弹 —— 把熔化的玻璃倒入玻璃杯里会发生什么
查看>>
SSH快捷登录设置
查看>>