1.使用 工具欄 -> Analyze -> Inspect Code… 點擊 Inspect Code 後會彈出檢查範圍的對話框: 預設是檢查整個項目,我們可以點擊 Custom scope 自定義檢查範圍。 點擊右邊的下拉框,會出現以下選擇: 分別有: Project Files:所有項目文件 ...
1.使用
工具欄 -> Analyze -> Inspect Code…
點擊 Inspect Code 後會彈出檢查範圍的對話框:
預設是檢查整個項目,我們可以點擊 Custom scope 自定義檢查範圍。
點擊右邊的下拉框,會出現以下選擇:
分別有:
- Project Files:所有項目文件
- Project Production Files:項目的代碼文件
- Project Test Files:項目的測試文件
- OpenFiles:當前打開的文件
- Module ‘app’:主要的 app 模塊
- Current File:當前文件
- …
除了內置的選項我們還可以自己選擇特定的類進行檢查,點擊下圖中的紅色框部分:
會彈出自定義範圍選擇框,預設是空的,我們可以點擊左上角的“+”號新增一個檢查範圍:
- Local:只能當前項目使用
- Shared:其他 Android Studio 項目也可以使用
我們選擇 Shared,然後起個帥氣的名字 “ShixinCuteLint”,預設按項目顯示,這時檢查的文件數為 0 :
上圖中右邊的四個按鈕表示要操作的類型:
- Include:包括當前文件夾內的文件,但不包括他的子文件夾
- Include Recursively:包括當前文件夾以及它的子文件夾內所有的文件夾,遞歸添加
- Exclude:移除當前文件夾,不包括子文件夾
- Exclude Recursively:移除當前文件夾及所有子文件夾
我們點擊左邊的 app 文件夾後,點擊右邊的 Include Recursively 按鈕,把 app 下的所有文件添加到檢查列表:
可以看到,這時 app 下的文件都變綠了,總共有 689 個文件夾要掃描。
點擊 OK 進行檢測,稍等一會兒,會彈出 Inspection 對話框,顯示檢查結果,沒想到我的代碼居然有 1769 個警告!這數字觸目驚心啊:
我們主要關註紅框內的警告,先來看看我的代碼 Performance 有什麼問題:
2.優化的內容主要包括以下幾方面:
- Correctness:不夠完美的編碼,比如硬編碼、使用過時 API 等
- Performance:對性能有影響的編碼,比如:靜態引用,迴圈引用等
- Internationalization:國際化,直接使用漢字,沒有使用資源引用等
- Security:不安全的編碼,比如在 WebView 中允許使用 JavaScriptInterface 等
- …
Lint 檢測代碼的過程如下圖所示:
- App 源文件:包括 Java 代碼,XML 代碼,圖標,以及 ProGuard 配置文件等
- lint.xml:Lint 檢測的執行標準配置文件,我們可以修改它來允許或者禁止報告一些問題