android Lint优化代码
android Lint優(yōu)化代碼。
作為移動(dòng)應(yīng)用開發(fā)者,我們總希望發(fā)布的apk文件越小越好,不希望資源文件沒(méi)有用到的圖片資源也被打包進(jìn)apk,不希望應(yīng)用中使用了高于minSdk的api,也不希望AndroidManifest文件存在異常,lint就能解決我們的這些問(wèn)題。Android lint是在ADT 16提供的新工具,它是一個(gè)代碼掃描工具,能夠幫助我們識(shí)別代碼結(jié)構(gòu)存在的問(wèn)題,主要包括:
1)布局性能(以前是?layoutopt工具,可以解決無(wú)用布局、嵌套太多、布局太多)
2)未使用到資源
3)不一致的數(shù)組大小
4)國(guó)際化問(wèn)題(硬編碼)
5)圖標(biāo)的問(wèn)題(重復(fù)的圖標(biāo),錯(cuò)誤的大小)
6)可用性問(wèn)題(如不指定的文本字段的輸入型)
7)manifest文件的錯(cuò)誤
什么是 Lint
Lint 是Android Studio 提供的 代碼掃描分析工具,它可以幫助我們發(fā)現(xiàn)代碼結(jié)構(gòu)/質(zhì)量問(wèn)題,同時(shí)提供一些解決方案,而且這個(gè)過(guò)程不需要我們手寫測(cè)試用例。
Lint 發(fā)現(xiàn)的每個(gè)問(wèn)題都有描述信息和等級(jí)(和測(cè)試發(fā)現(xiàn) bug 很相似),我們可以很方便地定位問(wèn)題,同時(shí)按照嚴(yán)重程度進(jìn)行解決。
當(dāng)然這個(gè)“嚴(yán)重程度”我們可以手動(dòng)調(diào)節(jié),有些原則問(wèn)題不容侵犯,必須提升到 error,而有的個(gè)別問(wèn)題也可以無(wú)視,畢竟人非圣賢孰能無(wú)過(guò)嘛。
Lint 工作方式簡(jiǎn)單介紹
Lint 會(huì)根據(jù)預(yù)先配置的檢測(cè)標(biāo)準(zhǔn)檢查我們 android 項(xiàng)目的源文件,發(fā)現(xiàn)潛在的 bug 或者可以優(yōu)化的地方,優(yōu)化的內(nèi)容主要包括以下幾方面:
- Correctness:不夠完美的編碼,比如硬編碼、使用過(guò)時(shí) API 等
- Performance:對(duì)性能有影響的編碼,比如:靜態(tài)引用,循環(huán)引用等
- Internationalization:國(guó)際化,直接使用漢字,沒(méi)有使用資源引用等
- Security:不安全的編碼,比如在 WebView 中允許使用 JavaScriptInterface 等
- …
Lint 檢測(cè)代碼的過(guò)程如下圖所示:
App 源文件:包括 Java 代碼,XML 代碼,圖標(biāo),以及 ProGuard 配置文件等
lint.xml:Lint 檢測(cè)的執(zhí)行標(biāo)準(zhǔn)配置文件,我們可以修改它來(lái)允許或者禁止報(bào)告一些問(wèn)題
我們還是直接進(jìn)入 Lint 的 GUI 操作吧。
Android Studio 中使用 Lint
Android Studio 中內(nèi)置了 Lint,我們小手一點(diǎn)就可以直接使用。
Lint 的使用路徑:
工具欄 -> Analyze -> Inspect Code…
點(diǎn)擊 Inspect Code 后會(huì)彈出檢查范圍的對(duì)話框:
默認(rèn)是檢查整個(gè)項(xiàng)目,我們可以點(diǎn)擊 Custom scope 自定義檢查范圍。
點(diǎn)擊右邊的下拉框,會(huì)出現(xiàn)以下選擇:
分別有:
- Project Files:所有項(xiàng)目文件
- Project Production Files:項(xiàng)目的代碼文件
- Project Test Files:項(xiàng)目的測(cè)試文件
- OpenFiles:當(dāng)前打開的文件
- Module ‘a(chǎn)pp’:主要的 app 模塊
- Current File:當(dāng)前文件
- …
這里,我建議使用OpenFiles:當(dāng)前打開的文件,因?yàn)檎麄€(gè)工程檢查錯(cuò)誤的話會(huì)發(fā)現(xiàn)警告太多,所以,我是把其他文件關(guān)閉,把需要檢查的文件打開,在使用Lint,效果很好。
android Lint優(yōu)化代碼就講完了。
就這么簡(jiǎn)單。
總結(jié)
以上是生活随笔為你收集整理的android Lint优化代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android Collections.
- 下一篇: android 打印线程信息