android 设计模式 单例模式 - gmtalang/test GitHub Wiki
静态内部类:全局对象
双重检索
public class IMManager { private static volatile IMManager sIMManager;
private IMManager() {
}
public static IMManager getInstance() {
if (sIMManager == null) {
synchronized (IMManager.class) {
if (sIMManager == null) {
sIMManager = new IMManager();
}
}
}
return sIMManager;
}//getInstance
}
静态内部类
public class IMManager {
private IMManager() {
}
public static IMManager getInstance() {
return Singleton.sIMManager;
}//getInstance
private static class Singleton{
private static final IMManager sIMManager = new IMManager();
}
}
枚举
public enum IMManager{ INSTANCE; void doSomething(){}
}