[技术鸟]公众号自开通以来,致力于给大家分享以“移动开发”为主的技术知识,希望与大家交流学习,相比于 iOS,Android 方面的分享少了很多,也得到部分粉丝的吐槽。
由于亦枫本人专职于Android开发,因工作繁忙和集中于 iOS 的学习,导致技术分享有所失衡,望大家见谅。亦枫以后会更加努力,给大家分享更多的精彩文章。今天分享的是一篇关于Android 代码优化的文章,欢迎交流分享。
其实,你缺少的只是一款代码检查工具,譬如 Lint。Android Lint Checks,在 SDK Tools 16(ADT 16)才引入的一款静态代码分析工具,能够对 Android 源代码进行扫描和检查,并发现可优化的代码和潜在性的异常,从而方便开发人员尽早地予以处理。
二. Android Lint Checks 作用
Lint 工具能够解决工程中存在的很多问题,具体可以参考官方介绍(需翻墙访问):Android Lint Checks,如图所示:
而在实际使用过程中,我们通常会使用 Lint 工具帮助解决如下一些主要问题:
Layout performance problems
布局性能问题。比如布局内容和层级嵌套过多;Unused resources
未使用到的资源。冗余资源让Apk文件体积更大,编译更慢;Inconsistent array sizes
不一致的数组大小。一个数组经过转化配置形成多个数组后,当某一个数组发生add或者remove操作导致该数组大小发生变化时,我们很容易忘记修改其他数组的大小,导致发生未知的错误;Accessibility and Internationalization problems
访问权限和国际化问题。诸如硬编码的字符串,缺失的 contentDescription 等;Icon Problems
图标问题。比如重复的图标,错误的大小;Usability problems
可用性问题。如在文本输入框中没有指定输入类型;Manifest errors
AndroidManifest.xml 文件错误。三. Eclipse插件集成使用
Android Lint 是一个命令行工具,提供了命令执行方式,同时也集中在如 Eclipse 、Android Studio 等集中开发环境(IDE)中,提供插件执行方式,也可以选择将分析结果以html等形式输入到文件中。自动分析,使用简单,这里以 Eclipse 为例,介绍一下 Android Lint 工具的使用。
在 Eclipse 中使用 Lint 工具有两种方式,选择工具栏中的对勾标识或者直接右键工程名称 → Android Tools → Run Lint: Check for Common Errors 。
运行之后,经过一段短暂时间的自动化分析之后,一份完整的分析结果便呈现于 Lint Warnings 视图中。通过点击标签,也可以实现排序功能,方便集中处理。
如图所示,分析结果中包含了工程中的潜在性错误和一些常见警告,也给出了问题的描述、类型和位置。双击单项描述,可以快速定位至问题的出处。
同时,在工程结构目录中,也会以红叉和感叹号的形式将这些错误和警告显示出来,而这些,在开发时的编译过程中不会显现。
根据这些提示信息,我们就可以逐一修改和优化工程的源代码了。
关于 Android Studio 插件和 命令行的使用,以及更多 Android Lint 的信息,可参考官方介绍(需翻墙访问):
http://developer.android.com/tools/help/lint.html
四. 注意事项
对于 Android Lint 检查出的未使用的资源,需要逐一分析有选择性的删除。比如对于图片资源,Android Lint 只能检测到在这些图片是否在其他资源文件(如 xml 布局文件)中有没有引用到,并不能检查 Java 代码或第三方库中是否引用,所以,如果你使用批量脚本代码等工具不经任何分析的删除,很容易造成误删,导致程序编译报错。建议配合 快捷键进行全局检索确认无误后,再行删除。
热门文章
☞ 女程序员做了个梦,各路大神惊现神级评论!
☞『IT女神节特刊』女神才露尖尖角,无数宅男尽折腰!
☞ 监狱里的囚犯都在学习编程,你还有什么理由拒绝呢?
左下角点击查看【简书文章】!