Android Studio lint工具所提示的需要注意的內容簡要記錄
Android lint部分:
Duplicated icons under different names 相同的icon 用了不同的名字
FrameLayout can be replaced with tag FrameLayout 可以被替換成 merge標籤
Handler reference leaks handler的記憶體溢位問題 替換成靜態 + 弱引用
Hardcoded reference to /sdcard 硬編碼問題 儘量不使用硬編碼(固定的字串即為硬編碼)
Icon densities validation 圖示最好覆蓋各個密度 比如mdpi hdpi xhdpi等。。。
Image without contentDescription 沒設定圖片的 內容屬性 主要用於有障礙的人士使用
Inefficient layout weight 低效的 weight屬性 最好在設定weight後 設定 width或者height為 0
Layout Inflation without a Parent 佈局需要一個父佈局
Missing allowBackup attribute Application中 缺少 allowBackup屬性 設定 這個即可android:fullBackupContent’ to ‘true’ or ‘false’
Missing baselineAligned attribute 缺少基線屬性
Missing commit() on SharedPreference editor 缺少commit 在不關心是否成功提交時 使用apply效率高於commit
Missing density folder 缺少 一些密度的資料夾 該提示是由於 少了某個密度的 drawable-xxdip資料夾
Missing inputType or hint EditText 缺少 輸入型別和提示文字
Nested layout weights 巢狀的佈局 都使用了 weight屬性 這時最好去掉子佈局不必要的weight 提高效能
Node can be replaced by a TextView with compound drawables 使用 TextView 自帶的 drawable屬性 代替 TextView+ImageView
Obsolete layout params 過時的 無用的佈局引數 比如 LinearLayout中 出現 相對佈局中的佈局引數
Overdraw: Painting regions more than once 過度繪製 一般是由於 設定了多個background的情況
Overlapping items in RelativeLayout 可能重疊的子佈局 在RelativeLayout中 比如設定了wrap_content 可能擴充套件覆蓋其他佈局
Padding and margin symmetry padding 和 margin 需要相互對稱
Unused resources 沒用過的資源 找到後刪掉即可
Useless parent layout 無用的父佈局
Using .gif format for bitmaps is discouraged 用gif 圖片是被阻止的 。。。 但是有時候還是得用。。
Using dp instead of sp for text sizes 用sp代替 dp
Using left/right instead of start/end attributes 使用 start和end 代替 left right
class structure部分:
Field Can Be Local 欄位能被設定成 區域性變數 縮小其生命週期
Parameter can be converted to a local variable 類似於上面這個 引數可以被轉化為區域性變數
code maturity issues部分 – 程式碼成熟度問題
一般是一些已經過時的方法 需要替換
code style issues: 程式碼風格問題
if statement may be replaced with && or || expression if 可以被替換成 && 或 || 簡化程式碼
Unnecessary Interface Modifier 不必要的介面修改 比如 介面中的方法 預設為public 不需要填寫也可以
control flow issues: 控制流問題
redundant if statement 冗餘的if語句 說明 if語句可以簡化 比如
if(fun()){
return true;
}else{
return false;
}
簡化為
return fun();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Unnecessary Return 不必要的 return 比如 返回值為 void 之後return了
Data flow issues : 資料流問題
Boolean MethodIs Always Inverted 沒懂。。。
redundant local variable 冗餘的區域性變數 一般是 沒用到的
declaration redundancy: 宣告冗餘
Access Static Via Instance 通過例項 訪問靜態成員。。。
actual method parameter is the same constant 實參是個常量 感覺沒什麼影響、、
declaration access can be weaker 宣告訪問許可權可能較弱 也就是一些可以設定成 private的設定了 protected或者public 類似的情況
declaration can have final modifier 可以使用 final修飾 可提高效率
empty method 空方法。。。
method can be void 方法可以返回 void 一般是 返回值沒有被用到的情況 會提示這個
method returns the same value 方法返回相同的值 也就是 無論如何方法都返回某個值 需要優化
redundant throws clause 冗餘的異常丟擲 一般是 既在方法裡 丟擲了 也在 方法上 丟擲了。。。
unused declaration 無用的宣告 一般是方法或屬性聲明瞭 但是沒有使用 會有這個提示
unused method parameters 無用的方法引數
Error handling: 錯誤處理
empty catch block 空的 異常捕獲 會提示
import 無用的匯入
java language level migration aids:
explicit type can be replaced with <> 顯示型別可以替換成 <>
for loop replaceable with foreach 把for 替換成 foreach
javaDoc issues:
關於 註釋 文件的。。。。
probable bugs:可能的bug
一些 可能產生bug的程式碼
properties files 配置檔案的一些問題
比如 配置檔案定義的一些屬性沒有使用到
Spelling 拼寫的一些問題
verbose or redundant code constructs 冗長冗餘的程式碼結構
xml檔案的一些問題
類似於 java中的