枚舉Enum
1.用Enum代替整數集
//不合理的定義類型
LinearLayout one = (LinearLayout) findViewById(R.id.linearlayout_test_1);
one.setOrientation(2012);
//使用emun來定義
public class LinearLayout extends ViewGroup {
private Orientation mOrientation;
public enum Orientation {
HORIZONTAL, VERTICAL
};
public void setOrientation(Orientation dir) {
mOrientation = dir;
}
}
2.不可否認enums會使得代碼更易讀更安全,但是在編寫高效Android代碼時避免使用枚舉,我們在很多經典的Java書已經看到推薦使用枚舉來代替int常量了,但是在Android開發中我不建議使用枚舉,特別是大型的App中,能不用則不用。因為它會犧牲執行的速度和並大幅增加文件體積。這也是性能優化中減少OOM的一個方面
3.在它被首次調用時,類會調用初始化方法來準備每個枚舉變量。每個枚舉項都會被聲明成一個靜態變量,並被賦值。然後將這些靜態變量放在一個名為"$VALUES"的靜態數組變量中。而這麽一大堆代碼,僅僅是為了使用j幾個整數
枚舉Enum