1.盡量少的聲明全局變量
2.聲明全局靜態(tài)變量康聂,一定要加final聲明
3.聲明非靜態(tài)的全局變量尚辑,最好不要初始化任何值瞄崇,在使用到的地方,在進(jìn)行初始化
4.函數(shù)中若干次使用全局變量勇哗,應(yīng)該將全局變量賦值給本地變量昼扛,然后直接使用本地變量
5.能用Int,不要使用浮點(diǎn)數(shù)
6.能用乘法不用除法
7.盡量避免使用geter和setter方法
8.在Activity的onCreate函數(shù)中智绸,盡量做少的事野揪。
9.在Activity中聲明的靜態(tài)數(shù)組或者靜態(tài)代碼塊,重構(gòu)到單獨(dú)的一個(gè)類里瞧栗。
10.布局文件要盡可能的優(yōu)化斯稳,減少布局的解析時(shí)間 。 盡量減少布局的嵌套層次
11.Activity啟動(dòng)后開始進(jìn)行異步線程的加載迹恐,最好delay一下挣惰。再開啟線程
12.對(duì)于存在于集合中的Bean對(duì)象,盡可能少的聲明變量殴边。能用int 就不要用long.聲明的string等復(fù)雜變量憎茂,最好不要進(jìn)行初始化。
13.使用線程锤岸,一定要給它傳一個(gè)名字竖幔,然后需要定義線程的優(yōu)先級(jí)
14.在使用集合的時(shí)候,優(yōu)先選擇SparseArray是偷。
15.盡量避免使用枚舉
16.工具方法盡量寫成是靜態(tài)方法
17.線程間同步盡量使用開銷小的同步鎖
18.在使用集合類的時(shí)候拳氢,如果已知數(shù)據(jù)的規(guī)模,在初始化的時(shí)候蛋铆,就設(shè)定好默認(rèn)大小馋评。
19.私有內(nèi)部類訪問外部類的私有變量,要將變量修改為包繼承權(quán)限
20.對(duì)于開銷大的算法刺啦,且不止是執(zhí)行一次的留特,要使用緩存策略
21.避免在繪制或者解析布局的時(shí)候,分配對(duì)象玛瘸。例如onDraw方法
22.不要給布局寫無用的參數(shù)蜕青,例如RelativeLayout,寫layout_weight屬性
23.盡量減少布局的嵌套層數(shù)捧韵。例如包含一個(gè)ImageView和TextView的線性布局市咆,可以用CompoundDrawable的TextView來代替
24.盡量用Android提供的SparseArray來代替HashMap
25.如果LinearLayout用于嵌套的layout空間計(jì)算,它的android:baselineAligned設(shè)置為false,可以加速layout計(jì)算
26.用FloatMath代替Math
27.盡量避免嵌套的使用layout_weight,那樣會(huì)影響執(zhí)行效率
28.如果為rootView設(shè)置了背景再来,那么會(huì)先用Theme指定的背景繪制一遍蒙兰,然后才用指定的背景繪制,這叫做"overdraw",可以通過theme的background為null來避免
29.不要有無用的任何資源或者文件