zoukankan      html  css  js  c++  java
  • andorid lint

    (一)Lint简介

    Android SDK提供了一个代码扫描工具,称为lint。可以帮助您轻松地识别并纠正问题与结构质量的代码,不必执行应用程序或编写任何测试用例。每个问题检测到该工具报告的一个描述消息和严重性级别,您可以快速地优先考虑的关键改进。您还可以配置一个问题的严重性级别,忽略不相关的问题,或提高的严重程度。这个工具有一个命令行接口,所以您可以很容易地集成到您的自动化测试过程。

    Lint 工具可以检查你android工程潜在的bug和优化改进,以确保正确性、安全性、性能、可用性、可访问性和国际性。您可以从命令行运行lint,或eclipse中运行lint。

    (二)运行方式

     

    (三)常见类型:

    1. Correctness:Messeges

    (1)字符串国际化不完全

    (2)国际化的字符串,在默认位置(default locale),没有定义  

    2.Correctness

    (1)Xml中view的id重名

    (2)代码中使用的某些API高于Manifest中的Min SDK

    (3)字符串国际化中,同一名字的的String-Array对应的item值不相同 (4)Activity没有注册到Manifest

    (5)使用已经废弃的api

    (6)避免使用px,使用dp

    (7)添加不需要的权限

    3.Performance

    (1) 避免在绘制或者解析布局(draw/layout)时,分配对象。eg,Ondraw()中实例化Paint().

    (2)Layout中无用的参数。

    (3)可优化的布局:如一个线性布局(一个Imageview和一个TextView),可被TextView和一个Compound Drawable代替。

    (4)可优化的代码:如SparseArray可代替一个Interger2Object的Hashmap

    (5)优化layout,比如如果子view都是wrap_content,则设置android:baselineAligned为false,则When set to false, prevents the layout from aligning its children's baselines.

    (6)使用FloatMath代替Math,执行sin()和ceil(),以避免float的两次转换。

    (7)Nested weight (内外均有weight)将拖累执行效果

    (8)未被使用的资源

    (9)Overdraw 即指定theme的activity会自己绘制背景,但是布局中会再一次设置背景

    (10)View或view的父亲没有用

    4.Security

    (1)设置setJavascriptEnable将导致脚本攻击漏洞(XSS vulnerabilities)

    5.Usability:Icons

    (1) 图片尺寸在转换成不同dpi时,存在不能整除的问题,比如2*24px

    (2)显示有些base 和browser的资源名不同,但图片内容完全相同。

    6.Usability

    (1)自定义view缺少默认的构造方法

    7.Usability:Typography

    (1)特殊字符需用编码代替,如“_”需要用“–”

    8.Accessibility

    (1)ImageView缺少src内容

     (四)忽略Lint

    忽略 lint ,在工程中的lint.xml中加入要忽略检查的类型:

    eg:

    <?xml version="1.0" encoding="UTF-8"?>
    <lint>

    <issue
    id="HardcodedText"
    severity="ignore" />

    <issue
    id="InflateParams"
    severity="ignore" />

    </lint>

  • 相关阅读:
    深入学习Make命令和Makefile(上)
    make命令
    ubuntu 重启网络方法--通过杀死进程重启网络
    悟空遥控器 --- 手机投屏到电视 播放视频
    组织结构图 --- 商务
    软件和数据库
    因果图---鱼骨图
    流程图 --- BPMN规范简介
    异次元软件
    Free Download Manager (FDM) 中文版
  • 原文地址:https://www.cnblogs.com/lianghui66/p/5257125.html
Copyright © 2011-2022 走看看