今天,简单的讲讲



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优化代码相关推荐

  1. Android 性能优化:使用 Lint 优化代码、去除多余资源,减少APP的size

    前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范.可维护性. 今天,以"成为优秀的程序员"为目标的拭心将和大家一起精益求精,学习使用 Lint 优化 ...

  2. Android性能优化:使用Lint优化代码、去除多余资源

    前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范.可维护性. 今天,以"成为优秀的程序员"为目标的拭心将和大家一起精益求精,学习使用 Lint 优化 ...

  3. Android 性能优化:使用 Lint 优化代码、去除多余资源

    *本篇文章已授权微信公众号(郭霖)独家发布 读完本文你将了解到: 前言 什么是 Lint Lint 工作方式简单介绍 从命令行运行 Lint Android Studio 中使用 Lint 团队中建立 ...

  4. android -------- Lint优化工具

    2019独角兽企业重金招聘Python工程师标准>>> 什么是 Lint Lint 是Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同 ...

  5. Android性能优化系列之渲染优化

    众所周知的Android系统每隔16ms重新绘制一次activity,也就是说你的app必须在16ms内完成屏幕刷新的所有逻辑操作,这样才能达到60帧/s.而用户一般所看到的卡顿是由于Android的 ...

  6. 浅谈Android性能优化方案

    经过前一阶段的调查,大概对性能优化已经有了初步的解决方案: 先给大家介绍一下UC公司的性能优化指标以及部分方案: 一.性能优化六项指标: 性能.内存.稳定性.流量.电量.安装包大小: 二.背景 --- ...

  7. android内存代码,Android内存优化(五) Lint代码扫描工具

    1.使用 工具栏 -> Analyze -> Inspect Code- 点击 Inspect Code 后会弹出检查范围的对话框: 默认是检查整个项目,我们可以点击 Custom sco ...

  8. 美团外卖Android Lint代码检查实践

    概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...

  9. Android系统性能优化(59)----代码、图片和布局优化

    Android优化系列--代码.图片和布局优化 这篇文章分为三个部分代码优化.图片优化.布局优化,尽量每个方法都写了小的Demo! 代码优化:不要做多余的工作,尽量避免次数过多的内存的分配,(需要对a ...

最新文章

  1. 笔记-知识产权与标准化知识-软件质量模型(重)
  2. 1月28日昆山杜克大学和西交利物浦大学太仓校区参观有感
  3. SQL-33 创建一个actor表,包含如下列信息
  4. Share Point 开发系列之一:开发方式的选择
  5. MySQL之逻辑架构和存储引擎
  6. c++ iterator(迭代器)分类及其使用
  7. oracle修改实例监听端口,oracle之 单实例监听修改端口
  8. Tomcat日志乱码问题解决方法
  9. .Net Remoting 入门
  10. 怎么申请企业邮箱?手机怎么申请免费邮箱?
  11. 分数加减乘除混合运算带答案_100道题,分数加减法混合运算,要答案
  12. C3D-network论文笔记
  13. C++的名字空间(很重要)
  14. ECS 7天实践训练营day5-安装Linux服务器面板管理工具
  15. 计算机网络第七版(谢希仁) 第一章 概述 1-10,1-17作业答案
  16. java中 ^ 是什么意思
  17. 【结构生物学】基于AI辅助的结构蛋白质组学研究细胞内的蛋白质复合体
  18. Python的特点有哪些?
  19. Get To The Point: Summarization with Pointer-Generator Networks
  20. 银河麒麟桌面操作系统V10上安装IDEA集成开发环境并导入SpringBoot项目

热门文章

  1. 控制面板的cpl程序列表
  2. hihocoder1051 补提交卡(贪心)
  3. 20.毛玻璃效果blur
  4. Matplotlib 2016-04-15
  5. MySQL 二进制日志(Binary Log)
  6. BZOJ2093 : [Poi2010]Frog
  7. 13 款 JavaScript 模板引擎
  8. jMenu 不添加item 直接自己添加监听actionPerformed不行mousePressed可以
  9. 使用openssl生成双向加密证书(转)
  10. [Oracle11g] 通过伪列查询