Android Lint常見類型:
一, 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)設置setJavascriptEnable將導致腳本攻擊漏洞(XSS vulnerabilities)
五,Usability:Icons
(1) 圖片尺寸在轉換成不同dpi時,存在不能整除的問題,比如2*24px
(2)顯示有些base 和browser的資源名不同,但圖片內容完全相同。
六,Usability
(1)自定義view缺少默認的構造方法
七,Usability:Typography
(1)特殊字符需用編碼代替,如“_”需要用“–”
八,Accessibility
(1)ImageView缺少src內容