常見類型:
一, 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內容