android Lint优化代码
今天,简单的讲讲
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 性能优化:使用 Lint 优化代码、去除多余资源,减少APP的size
前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范.可维护性. 今天,以"成为优秀的程序员"为目标的拭心将和大家一起精益求精,学习使用 Lint 优化 ...
- Android性能优化:使用Lint优化代码、去除多余资源
前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范.可维护性. 今天,以"成为优秀的程序员"为目标的拭心将和大家一起精益求精,学习使用 Lint 优化 ...
- Android 性能优化:使用 Lint 优化代码、去除多余资源
*本篇文章已授权微信公众号(郭霖)独家发布 读完本文你将了解到: 前言 什么是 Lint Lint 工作方式简单介绍 从命令行运行 Lint Android Studio 中使用 Lint 团队中建立 ...
- android -------- Lint优化工具
2019独角兽企业重金招聘Python工程师标准>>> 什么是 Lint Lint 是Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同 ...
- Android性能优化系列之渲染优化
众所周知的Android系统每隔16ms重新绘制一次activity,也就是说你的app必须在16ms内完成屏幕刷新的所有逻辑操作,这样才能达到60帧/s.而用户一般所看到的卡顿是由于Android的 ...
- 浅谈Android性能优化方案
经过前一阶段的调查,大概对性能优化已经有了初步的解决方案: 先给大家介绍一下UC公司的性能优化指标以及部分方案: 一.性能优化六项指标: 性能.内存.稳定性.流量.电量.安装包大小: 二.背景 --- ...
- android内存代码,Android内存优化(五) Lint代码扫描工具
1.使用 工具栏 -> Analyze -> Inspect Code- 点击 Inspect Code 后会弹出检查范围的对话框: 默认是检查整个项目,我们可以点击 Custom sco ...
- 美团外卖Android Lint代码检查实践
概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...
- Android系统性能优化(59)----代码、图片和布局优化
Android优化系列--代码.图片和布局优化 这篇文章分为三个部分代码优化.图片优化.布局优化,尽量每个方法都写了小的Demo! 代码优化:不要做多余的工作,尽量避免次数过多的内存的分配,(需要对a ...
最新文章
- 笔记-知识产权与标准化知识-软件质量模型(重)
- 1月28日昆山杜克大学和西交利物浦大学太仓校区参观有感
- SQL-33 创建一个actor表,包含如下列信息
- Share Point 开发系列之一:开发方式的选择
- MySQL之逻辑架构和存储引擎
- c++ iterator(迭代器)分类及其使用
- oracle修改实例监听端口,oracle之 单实例监听修改端口
- Tomcat日志乱码问题解决方法
- .Net Remoting 入门
- 怎么申请企业邮箱?手机怎么申请免费邮箱?
- 分数加减乘除混合运算带答案_100道题,分数加减法混合运算,要答案
- C3D-network论文笔记
- C++的名字空间(很重要)
- ECS 7天实践训练营day5-安装Linux服务器面板管理工具
- 计算机网络第七版(谢希仁) 第一章 概述 1-10,1-17作业答案
- java中 ^ 是什么意思
- 【结构生物学】基于AI辅助的结构蛋白质组学研究细胞内的蛋白质复合体
- Python的特点有哪些?
- Get To The Point: Summarization with Pointer-Generator Networks
- 银河麒麟桌面操作系统V10上安装IDEA集成开发环境并导入SpringBoot项目