android Lint优化代码
来源:互联网 发布:淘宝店换类目有影响吗 编辑:程序博客网 时间:2024/05/16 16:57
android Lint优化代码。
作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常,lint就能解决我们的这些问题。Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,主要包括:
1)布局性能(以前是 layoutopt工具,可以解决无用布局、嵌套太多、布局太多)
2)未使用到资源
3)不一致的数组大小
4)国际化问题(硬编码)
5)图标的问题(重复的图标,错误的大小)
6)可用性问题(如不指定的文本字段的输入型)
7)manifest文件的错误
什么是 Lint
Lint 是Android Studio 提供的代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。
Lint 发现的每个问题都有描述信息和等级(和测试发现 bug 很相似),我们可以很方便地定位问题,同时按照严重程度进行解决。
当然这个“严重程度”我们可以手动调节,有些原则问题不容侵犯,必须提升到 error,而有的个别问题也可以无视,毕竟人非圣贤孰能无过嘛。
Lint 工作方式简单介绍
Lint 会根据预先配置的检测标准检查我们 android 项目的源文件,发现潜在的 bug 或者可以优化的地方,优化的内容主要包括以下几方面:
- Correctness:不够完美的编码,比如硬编码、使用过时 API 等
- Performance:对性能有影响的编码,比如:静态引用,循环引用等
- Internationalization:国际化,直接使用汉字,没有使用资源引用等
- Security:不安全的编码,比如在 WebView 中允许使用 JavaScriptInterface 等
- …
Lint 检测代码的过程如下图所示:
App 源文件:包括 Java 代码,XML 代码,图标,以及 ProGuard 配置文件等
lint.xml:Lint 检测的执行标准配置文件,我们可以修改它来允许或者禁止报告一些问题
我们还是直接进入 Lint 的 GUI 操作吧。
Android Studio 中使用 Lint
Android Studio 中内置了 Lint,我们小手一点就可以直接使用。
Lint 的使用路径:
工具栏 -> Analyze -> Inspect Code…
点击 Inspect Code 后会弹出检查范围的对话框:
默认是检查整个项目,我们可以点击 Custom scope 自定义检查范围。
点击右边的下拉框,会出现以下选择:
分别有:
- Project Files:所有项目文件
- Project Production Files:项目的代码文件
- Project Test Files:项目的测试文件
- OpenFiles:当前打开的文件
- Module ‘app’:主要的 app 模块
- Current File:当前文件
- …
这里,我建议使用OpenFiles:当前打开的文件,因为整个工程检查错误的话会发现警告太多,所以,我是把其他文件关闭,把需要检查的文件打开,在使用Lint,效果很好。
android Lint优化代码就讲完了。
就这么简单。
- android Lint优化代码
- Android代码优化---Android Lint
- 使用Android Lint 优化代码
- android lint检查 优化代码
- 【lint】Android代码优化——使用Android lint工具
- 【lint】Android-Lint:查错与代码优化利器
- Android Lint(官方代码优化利器)
- Android-Lint:查错与代码优化利器
- Android Lint(官方代码优化利器)
- Android-Lint:查错与代码优化利器
- Android-Lint:查错与代码优化利器
- android 错误检测与代码优化 lint
- 使用lint工具优化Android代码
- 使用lint工具优化Android代码
- Android Lint工具 优化代码 <12>
- Android Studio 使用 lint 优化代码
- Android-Lint:查错与代码优化利器
- Android-Lint:查错与代码优化利器
- 刚开始学jsp,怎么嵌在jsp中的javascript没有执行
- spring-boot-dyna-datasource(spring-boot动态数据源)
- linux C++ Utf8toGb2312 Gb2312toUtf8 MyA2W和MyW2A实现
- 转载:个人开发者账号申请(有史以来最详细最全面最新的讲解)更新于2017/06/28
- javascript弹出框
- android Lint优化代码
- deep learning
- 堆与堆排序
- Mybatis传多个参数(三种解决方案)
- Python进程间通信之共享内存
- Spring系列之Spring常用注解总结
- postman详细讲解
- Java时间日期格式转换
- 基于Android的“健康宝”体检APP(六)