Android高性能App开发规范要点

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.不要有無用的任何資源或者文件

猜你喜欢

转载自blog.csdn.net/hejianhua1/article/details/78492405