1.盡量少的聲明全局變量
2.聲明全局靜態變量,一定要加final聲明
3.聲明非靜態的全局變量,最好不要初始化任何值,在使用到的地方,在進行初始化
4.函數中若幹次使用全局變量,應該將全局變量賦值給本地變量,然後直接使用本地變量
5.能用Int,不要使用浮點數
6.能用乘法不用除法
7.盡量避免使用geter和setter方法
8.在Activity的onCreate函數中,盡量做少的事。
9.在Activity中聲明的靜態數組或者靜態代碼塊,重構到單獨的一個類裡。
10.佈局文件要盡可能的優化,減少佈局的解析時間 。 盡量減少佈局的嵌套層次
11.Activity啟動後開始進行異步線程的加載,最好delay一下。再開啟線程
12.對於存在於集合中的Bean對象,盡可能少的聲明變量。能用int 就不要用long.聲明的string等復雜變量,最好不要進行初始化。
13.使用線程,一定要給它傳一個名字,然後需要定義線程的優先級
14.在使用集合的時候,優先選擇SparseArray。
Java 中每個類(包括匿名內部類)都佔用至少 500字節左右的代碼;
每個類的實例會在 RAM 中佔用大約 12 ~ 16 字節的內存;
每向 HashMap 中添加一個 Entry 時,新生成的 Entry 佔用大約 32 個字節。
15.盡量避免使用枚舉
枚舉類型 Enum
會比靜態常量佔用更多的內存;
16.工具方法盡量寫成是靜態方法
17.線程間同步盡量使用開銷小的同步鎖
18.在使用集合類的時候,如果已知數據的規模,在初始化的時候,就設定好默認大小。
19.私有內部類訪問外部類的私有變量,要將變量修改為包繼承權限
20.對於開銷大的算法,且不止是執行一次的,要使用緩存策略
21.避免在繪制或者解析佈局的時候,分配對象。例如onDraw方法
22.不要給佈局寫無用的參數,例如RelativeLayout,寫layout_weight屬性
23.盡量減少佈局的嵌套層數。例如包含一個ImageView和TextView的線性佈局,可以用CompoundDrawable的TextView來代替
24.盡量用android
提供的SparseArray來代替HashMap
25.如果LinearLayout用於嵌套的layout空間計算,它的android:baselineAligned設置為false,可以加速layout計算
26.用FloatMath代替Math
27.盡量避免嵌套的使用layout_weight,那樣會影響執行效率
28.如果為rootView設置了背景,那麼會先用Theme指定的背景繪制一遍,然後才用指定的背景繪制,這叫做"overdraw",可以通過theme的background為null來避免
29.不要有無用的任何資源或者文件
閱讀更多 卜溪大人 的文章