AndroidStudio内置的Lint工具,对app中的代码规范带来了极大的方便。对内存泄漏、代码冗余、代码安全、国际化、代码规范等很多方面都能检测,是一款非常强大的工具!

使用:

在AS-->Analyze-->Inspect Code 下

Inspect Code配置(可以单独选择Module 'app'部分, 个人感觉library部分审查的意义不大. 不过为了方便, 建议选择了 Whole project.)

Android Lint 对检查的结果进行了分类,同一个规则(issue)下的问题会聚合,其中针对 Android 的规则类别会在分类前说明是 Android 相关的,主要是六类:

  • Accessibility 无障碍,例如 ImageView 缺少contentDescription 描述,String 编码字符串等问题。
  • Correctness 正确性
  • Internationalization 国际化,如字符缺少翻译等问题。
  • Performance 性能,例如在 onMeasure、onDraw 中执行 new,内存泄露,产生了冗余的资源,xml 结构冗余等。
  • Security 安全性,例如没有使用 HTTPS 连接 Gradle,AndroidManifest 中的权限问题等。
  • Usability 易用性,例如缺少某些倍数的切图,重复图标等。
    其他的结果条目则是针对 Java 语法的问题,另外每一个问题都有区分严重程度(severity),从高到底依次是:
    Fatal
    Error
    Warning
    Information
    Ignore
    其中 Fatal 和 Error 都是指错误,但是 Fatal 类型的错误会直接中断 ADT 导出 APK,更为严重。
    在结果列表中点击一个条目,可以看到详细的源文件名和位置,以及命中的错误规则(issue)、解决方案或者屏蔽提示
    除了直接在菜单中运行 Lint 外,大部分问题代码在编写时 Android Studio 就会给出提醒

AS之Lint 工具的更多相关文章

  1. 提高你的代码稳定性与可读性-lint工具

    from://http://wiki.eoe.cn/page/Improving_Your_Code_with_lint.html 负责人:lingzideshensha 分任务原文链接:http:/ ...

  2. Android学习之Android studio TraceView和lint工具的使用具体解释

    上次讲述了一下Android studio Terminal的使用配置,今天又学习了一下关于Traceview和lint工具的使用. 首先来讲lint吧: Android lint工具是Android ...

  3. android studio学习---Lint工具

    对代码进行测试是一回事,但同样重要的是.我们还需要在编写代码的同时引入各种最佳实践.这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性.另外,经过合理结构调整的项目在维护方面也更为轻松. And ...

  4. Android代码优化——使用Android lint工具

    作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常 ...

  5. eclipse lint工具介绍

    一.基本介绍 作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件目录中没有用到的图片等资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidMan ...

  6. Lint工具去除Android工程里不再需要的资源

    摘要: 在项目开发过程中常常会不断改UI设计,于是在定稿要发布的前夕,发现有好多不再需要的资源文件存在,发布的包会把这些无用的资源都包含在里面,造成APK的下载包过大.可以通过Android SDK自 ...

  7. Android代码分析工具lint学习

    1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...

  8. 项目规范性检测工具Lint

    项目规范性检测工具lint.bat 一.Lint基本概念介绍 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发 ...

  9. Android代码优化工具——Android lint

    作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常 ...

随机推荐

  1. mysql 5.7.24 root密码重置

    sudo mysql -u root -p 初始root密码没有,直接按回车 show databases: use mysql; update user set authentication_str ...

  2. 1.SpringBoot整合Mybatis(CRUD的实现)

    准备工具:IDEA  jdk1.8 Navicat for MySQL Postman 一.新建Project 选择依赖:mybatis  Web  Mysql  JDBC 项目结构 pom依赖: & ...

  3. mysql 5.5.36 通用二进制安装部署

    1.创建mysql用户 # useradd -r mysql 2.解压二进制包到指定目录下 # tar xf mysql-5.5.36-linux2.6-x86_64.tar.gz -C /usr/l ...

  4. 谈谈对MVC的认识?

    核心思想是:视图和用户交互通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型改变 导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己.他的好处是可以将界面和业务 ...

  5. libusb读写

    https://blog.csdn.net/u012247418/article/details/83684980 https://github.com/crazybaoli/libusb-test ...

  6. css 点击打开遮罩

    <div> <nav class="bar bar-tab"> <a class="tab-item external" href ...

  7. web性能优化-浏览器工作原理

    要彻底了解web性能优化的问题,得搞清楚浏览器的工作原理. 我们需要了解,你在浏览器地址栏中输入url到页面展示的短短几秒中,浏览器究竟做了什么,才能了解到为什么我们口中所说的优化方案能够起到优化作用 ...

  8. vue实现v-model父子组件间的双向通信

    首先讲清楚有个缺点:父页面若同时使用多个子组件,永远只会只能实现第一个双向驱动,我是新手,还在研究.如果有高手请指教,感谢! 子组件 <script> export default { m ...

  9. 第一次的迷宫为队列版,这个为搜索版x(自己写的嘿嘿)

    错误原因:第一次提交的时候把Yes跟No输错了都输为大写:…… 代码来啦! #include<cstdio> #include<iostream> using namespac ...

  10. HDU 4725 The Shortest Path in Nya Graph (最短路 )

    This is a very easy problem, your task is just calculate el camino mas corto en un grafico, and just ...