###1. Android中枚举注解的应用
Toast源码
@IntDef({LENGTH_SHORT, LENGTH_LONG})
@Retention(RetentionPolicy.SOURCE)
public @interface Duration {}
public static final int LENGTH_SHORT = 0;
public static final int LENGTH_LONG = 1;
public void setDuration(@Duration int duration) {
mDuration = duration;
}
@Duration
public int getDuration() {
return mDuration;
}
ActionBar源码
@Retention(RetentionPolicy.SOURCE)
@IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
public @interface NavigationMode {}
public static final int NAVIGATION_MODE_STANDARD = 0;
public static final int NAVIGATION_MODE_LIST = 1;
public static final int NAVIGATION_MODE_TABS = 2;
@NavigationMode
public abstract int getNavigationMode();
public abstract void setNavigationMode(@NavigationMode int mode);
###2. 注解枚举与枚举的对比?
注解枚举比枚举性能好。
参考Android性能优化典范 - 第3季 的The price of ENUMs
####参考:
####公共技术点之 Java 注解 Annotation
####安卓注解那些事儿
####Android 打造编译时注解解析框架 这只是一个开始