这个是最简单的,也是最常用的。
一、意图
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
二、适用场景
1. 应用中某个实例对象需要频繁的被访问。
2. 应用中每次启动只会存在一个实例。如账号系统,数据库系统。
三、Android源码中单例模式使用
android使用单例模式的地方很多,数据库对象(SQLiteOpenHelper)单例模式,并且数据库单例模式,可以利用java底层加锁机制。再比如对网络、蓝牙等底层访问,大都使用单例模式。
四、项目案例
项目中用到GPS,每次返回一个instance。
public class Gps{
private static Gps gps;
private Gps(){}
//单例模式
public static Gps getInstance() {
if (gps == null) {
gps = new Gps();
}
return gps;
}
}