AndroidLint警告提示速查手冊(cè)

安卓開(kāi)發(fā)中有個(gè)很好的靜態(tài)代碼分析工具AndroidLint(已集成在AndroidStudio中)漫仆,當(dāng)你代碼寫(xiě)的差不多準(zhǔn)備打包發(fā)布的時(shí)候可以用Lint檢查一遍代碼,Lint會(huì)向你報(bào)告你的代碼中可以進(jìn)一步優(yōu)化的地方求橄。

本文不打算詳細(xì)講述Lint的用法赋续,寫(xiě)這篇文章的目的是希望能給經(jīng)驗(yàn)不足的新手們提供一個(gè)Lint警告信息速查手冊(cè)干奢,以快速明白Lint中常見(jiàn)的警告信息含義忿磅。本文會(huì)保持頻繁更新糯彬!

Android > Lint > Accessibility

1.Image without contentDescription

[Accessibility] Missing 'contentDescription' attribute on image
contentDescription 這個(gè)屬性是為了給一些生理功能有缺陷的人使用應(yīng)用程序提供方便的,比如有一個(gè) ImageView 里面放置一張色彩豐富的圖片葱她,一些色弱色盲的人可能會(huì)分不清這張圖片中畫(huà)的是什么東西撩扒。如果用戶安裝了輔助瀏覽工具比如 TalkBack,TalkBack 就會(huì)大聲朗讀出用戶目前正在瀏覽的內(nèi)容吨些。TextView控件TalkBack可以直接讀出里面的內(nèi)容搓谆,但是 ImageView TalkBack就只能去讀 contentDescription的值,告訴用戶這個(gè)圖片到底是什么豪墅。

Android > Lint > Correctness

1.Layout Inflation without a Parent

Avoid passing 'null' as the view root (needed to resolve layout parameters on the inflated layout's root element)
出現(xiàn)這條警告你肯定使用 LayoutInflater 類(lèi)的方法加載布局了泉手,具體緣由請(qǐng)查看這篇博文

2.Missing commit() on SharedPreference editor

'SharedPreferences.edit()' without a corresponding 'commit()' or 'apply()' call
一般是因?yàn)槟銏?zhí)行了 SharedPreference.Editor 的 put 方法然后忘了執(zhí)行 apply 或 commit 方法偶器。

3.Using inlined constants on older versions

這個(gè)是因?yàn)槟阏{(diào)用的比你聲明的 minSdkVersion 級(jí)別更高的 API.

Android > Lint > Internationalization > Bidirectional Text

1.Using left/right instead of start/end attributes

這條警告建議你將布局文件(多為相對(duì)布局)中聲明的 ×××Left 或 ×××Right 替換成對(duì)應(yīng)的 ×××Start 或 ×××End 以兼容從右至左的屏幕方向(這個(gè)取決于特定語(yǔ)境的閱讀習(xí)慣)斩萌。

Android > Lint > Performance

1.Overdraw: Painting regions more than once

直譯過(guò)來(lái)叫過(guò)度繪制,你應(yīng)該明確當(dāng)前的 subView 是否有覆蓋上一級(jí) View 的需求屏轰,如果有可忽略此條提示

2.Unused resources

這個(gè)不用我過(guò)多解釋了吧颊郎,提示你項(xiàng)目里未使用的資源文件,請(qǐng)酌情刪除霎苗。

Android > Lint > Security

待續(xù)…………

Android > Lint > Usability

Using setJavaScriptEnabled
Using 'setJavaScriptEnabled' can introduce XSS vulnerabilities into your application, review carefully.
使用'setJavaScriptEnabled'可以將XSS漏洞引入到應(yīng)用程序中姆吭,請(qǐng)仔細(xì)檢查確定有打開(kāi) JS 的必要。
嗯唁盏,一般用到 WebView 的地方都有必要打開(kāi) JS 支持内狸。
待續(xù)…………

Android > Lint > Usability > Icons

1.Image defined in density-independent drawable folder

在密度無(wú)關(guān)的可繪制文件夾中定義的圖像,我一般選擇忽略厘擂,原因改天專(zhuān)門(mén)開(kāi)篇文章解釋答倡。

Class structure

提示你類(lèi)的結(jié)構(gòu)可進(jìn)一步優(yōu)化的地方。

1.Field can be local

這個(gè)主要是有些變量可聲明為局部變量驴党。

2.'private' method declared 'final'

這個(gè)一般刪掉 final 符就行瘪撇。

Control flow issues

1.Unnecessary 'return' statement

不必要的 return 語(yǔ)句,這個(gè)一般是你在返回類(lèi)型為 void 的方法的方法體內(nèi)使用了 return 語(yǔ)句港庄,到底有沒(méi)有必要使用要視情況而定倔既。比如你想在方法中加個(gè)條件判斷,如果不符合條件就提前返回方法鹏氧,這個(gè)時(shí)候返回 void 類(lèi)型的方法里使用 return 語(yǔ)句是有必要的渤涌。

Declaration redundancy

1.Actual method parameter is the same constant

某個(gè)方法的某個(gè)參數(shù)在整個(gè)項(xiàng)目里被調(diào)用的地方總是個(gè)固定不變的值,所以這個(gè)形參是否有聲明的必要呢把还?

2.Declaration access can be weaker

提示你類(lèi)中的字段或方法聲明的訪問(wèn)權(quán)限可優(yōu)化实蓬。詳細(xì)部分一般提示 Can be private茸俭,嗯。

3.Declaration can have final modifier

某類(lèi)的某個(gè)字段可聲明為 常量 即添加 final 修飾符安皱。

4.Method returns the same value

此提示常出現(xiàn)于創(chuàng)建菜單以及菜單的選擇點(diǎn)擊回調(diào)方法處调鬓,使返回父類(lèi)的方法調(diào)用即可。

General

1.Default File Template Usage

這個(gè)你自己肯定能看懂酌伊,我就不說(shuō)了腾窝。

Imports

一般提示你一些未使用的導(dǎo)入語(yǔ)句,刪掉就好居砖。(右鍵可快速刪掉)

Java language level migration aids

一些 JAVA 語(yǔ)言相關(guān)的優(yōu)化建議虹脯。

Spelling

嗯。

……
……
未完待續(xù)……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奏候,一起剝皮案震驚了整個(gè)濱河市循集,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔗草,老刑警劉巖暇榴,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蕉世,居然都是意外死亡蔼紧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)狠轻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奸例,“玉大人,你說(shuō)我怎么就攤上這事向楼〔榈酰” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵湖蜕,是天一觀的道長(zhǎng)逻卖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)昭抒,這世上最難降的妖魔是什么评也? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮灭返,結(jié)果婚禮上盗迟,老公的妹妹穿的比我還像新娘。我一直安慰自己熙含,他們只是感情好罚缕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著怎静,像睡著了一般邮弹。 火紅的嫁衣襯著肌膚如雪黔衡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天腌乡,我揣著相機(jī)與錄音盟劫,去河邊找鬼。 笑死导饲,一個(gè)胖子當(dāng)著我的面吹牛捞高,可吹牛的內(nèi)容都是我干的氯材。 我是一名探鬼主播渣锦,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼氢哮!你這毒婦竟也來(lái)了袋毙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冗尤,失蹤者是張志新(化名)和其女友劉穎听盖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體裂七,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皆看,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了背零。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腰吟。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖徙瓶,靈堂內(nèi)的尸體忽然破棺而出毛雇,到底是詐尸還是另有隱情,我是刑警寧澤侦镇,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布灵疮,位于F島的核電站,受9級(jí)特大地震影響壳繁,放射性物質(zhì)發(fā)生泄漏震捣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一闹炉、第九天 我趴在偏房一處隱蔽的房頂上張望伍派。 院中可真熱鬧,春花似錦剩胁、人聲如沸诉植。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)晾腔。三九已至舌稀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灼擂,已是汗流浹背壁查。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剔应,地道東北人睡腿。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像峻贮,于是被迫代替她去往敵國(guó)和親席怪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容