Android Lint分类及常见错误

2014-11-24 10:14:49 · 作者: · 浏览: 1

一, Correctness:Messeges


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


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


二,Correctness


(1)Xml中view的id重名


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


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


(5)使用已经废弃的api


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


(7)添加不需要的权限


三,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的父亲没有用


四,Security


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


五,Usability:Icons


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


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


六,Usability


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


七,Usability:Typography


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


八,Accessibility


(1)ImageView缺少src内容