我项目里面定义网络类型,原本是用枚举这样定义的:public enum NetType {/*** 有网络,包括Wifi/gprs*/AUTO,/*** wifi*/WIFI,/*** PC/笔记本/PDA*/CMNET,/*** 手机端*/CMWAP,/*** 没有网络*/NONE }
但是由于枚举耗内存。google建议使用@IntDef/@StringDef注解替代枚举
用注解之后,写成如下:
@Retention(RetentionPolicy.SOURCE) @StringDef({NetType.AUTO, NetType.WIFI, NetType.CMNET, NetType.CMWAP, NetType.NONE}) public @interface NetType {/*** 有网络,包括Wifi/gprs*/String AUTO = "AUTO";/*** wifi*/String WIFI = "WIFI";/*** PC/笔记本/PDA端数据流量网络类型*/String CMNET = "CMNET";/*** 手机端数据流量网络类型*/String CMWAP = "CMWAP";/*** 没有网络*/String NONE = "NONE"; }