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>

  • 相关阅读:
    使用Identity Server 4建立Authorization Server (3) yangxu
    Asp.Net Core 之 基于 Open Connect ID 身份验证
    Pandas数据结构 2
    Pandas 数据结构 DataFrame
    大数据加工平台数据清洗
    Python电影数据分析
    Pandas安装
    Pandas 读取CSV
    Mongo Python 增、删、改、查等操作
    读书笔记人月神话其三
  • 原文地址:https://www.cnblogs.com/lianghui66/p/5257125.html
Copyright © 2011-2022 走看看