Android內(nèi)存優(yōu)化(五) Lint代碼掃描工具
1.使用
工具欄 -> Analyze -> Inspect Code…
點擊 Inspect Code 后會彈出檢查范圍的對話框:

默認是檢查整個項目,我們可以點擊 Custom scope 自定義檢查范圍。
點擊右邊的下拉框,會出現(xiàn)以下選擇:

分別有:
- Project Files:所有項目文件
- Project Production Files:項目的代碼文件
- Project Test Files:項目的測試文件
- OpenFiles:當(dāng)前打開的文件
- Module ‘a(chǎn)pp’:主要的 app 模塊
- Current File:當(dāng)前文件
- …
除了內(nèi)置的選項我們還可以自己選擇特定的類進行檢查,點擊下圖中的紅色框部分:

會彈出自定義范圍選擇框,默認是空的,我們可以點擊左上角的“+”號新增一個檢查范圍:

- Local:只能當(dāng)前項目使用
- Shared:其他 Android Studio 項目也可以使用
我們選擇 Shared,然后起個帥氣的名字 “ShixinCuteLint”,默認按項目顯示,這時檢查的文件數(shù)為 0 :

上圖中右邊的四個按鈕表示要操作的類型:
- Include:包括當(dāng)前文件夾內(nèi)的文件,但不包括他的子文件夾
- Include Recursively:包括當(dāng)前文件夾以及它的子文件夾內(nèi)所有的文件夾,遞歸添加
- Exclude:移除當(dāng)前文件夾,不包括子文件夾
- Exclude Recursively:移除當(dāng)前文件夾及所有子文件夾
我們點擊左邊的 app 文件夾后,點擊右邊的 Include Recursively 按鈕,把 app 下的所有文件添加到檢查列表:

可以看到,這時 app 下的文件都變綠了,總共有 689 個文件夾要掃描。
點擊 OK 進行檢測,稍等一會兒,會彈出 Inspection 對話框,顯示檢查結(jié)果,沒想到我的代碼居然有 1769 個警告!這數(shù)字觸目驚心啊:

我們主要關(guān)注紅框內(nèi)的警告,先來看看我的代碼 Performance 有什么問題:

2.優(yōu)化的內(nèi)容主要包括以下幾方面:
- Correctness:不夠完美的編碼,比如硬編碼、使用過時 API 等
- Performance:對性能有影響的編碼,比如:靜態(tài)引用,循環(huán)引用等
- Internationalization:國際化,直接使用漢字,沒有使用資源引用等
- Security:不安全的編碼,比如在 WebView 中允許使用 JavaScriptInterface 等
- …
Lint 檢測代碼的過程如下圖所示:

- App 源文件:包括 Java 代碼,XML 代碼,圖標,以及 ProGuard 配置文件等
- lint.xml:Lint 檢測的執(zhí)行標準配置文件,我們可以修改它來允許或者禁止報告一些問題
浙公網(wǎng)安備 33010602011771號