通过如下lint命令获取lint报告:
D:\adt-bundle-windows-x86_64-20140321\sdk\tools>lint.bat --simplehtml D:\lint_result.html E:\eclipseProject\Cloneit
Correctness
(1)Xml中view的id重名
(2)代码中使用的某些API高于Manifest中的Min SDK
(3)字符串国际化中,同一名字的的String-Array对应的item值不相同
(4)Activity没有注册到Manifest
(5)使用已经废弃的api
(6)避免使用px,使用dp
(7)添加不需要的权限
(8)xml中使用的view找不到注册的类
(9)scrollView无效的尺寸
(10)commitPrefEdits尽量使用apply而不是commit,因为commit是立即执行的,而apply是异步的在后台进行的。
(11)string.format国际化情况下要增加locale参数。
(12)路径被写死了,比如“/sdcard/”
(13)toast创建却没有show
(14)inflate的view没有父亲,这个感觉没必要改,设置给某个视图活动时就会取得当前window的layoutparam赋值给它
(15)执行sql语句时使用String而不要用TEXT
Correctness:Messages
(1)字符串国际化不完全
(2)国际化的字符串,在默认位置(default locale),没有定义
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,则Whenset to false, prevents the layout from aligning its children's baselines.
(6)使用FloatMath代替Math,执行sin()和ceil(),以避免float的两次转换。
(7)Nestedweight (内外均有weight)将拖累执行效果
(8)未被使用的资源
(9)Overdraw即指定theme的activity会自己绘制背景,但是布局中会再一次设置背景
(10)View或view的父亲没有用
Usability:Typography
(1)特殊字符需用编码代替,如“_”需要用“–”
Usability:Icons
(1) 图片尺寸在转换成不同dpi时,存在不能整除的问题,比如2*24px
(2)显示有些base和browser的资源名不同,但图片内容完全相同。
Usability
(1)自定义view缺少默认的构造方法
Internationalization
(1)硬编码??
Bi-directional Text
Security
(1)设置setJavascriptEnable将导致脚本攻击漏洞(XSS vulnerabilities)
Accessibility
(1)ImageView缺少src内容
这上面只是其中的一部分,更详细的解释请查看
http://tools.android.com/tips/lint-checks
本文档仅作参考,具体情况lint_result已经说明的很清楚了。这里怕有人看不太懂因为做了简单中文描述,学识有限项目挺多,难免出错,欢迎纠错。