什么是单例模式
单例模式 (Singleton Pattern) 是一种常见的设计模式,用于确保一个类在整个应用程序运行期间只有一个实例,并提供全局访问点。
本文将详细介绍单例模式的定义、实现方式、优缺点,以及 Android 源码中的使用实例,配以图解与注释。
单例模式的核心目标是:
- 唯一性:确保类只有一个实例。
- 全局访问:提供对该实例的全局访问。
UML 类图
以下是单例模式的 UML 类图:
-
表示私有成员。+
表示公共方法。
单例模式的实现方式
1. 饿汉式 (Eager Initialization)
实现
饿汉式在类加载时即创建实例,线程安全,但可能造成内存浪费。
public class Singleton {
private static final Singleton INSTANCE = new Singleton(); // 提前创建实例
private Singleton() {
// 私有构造函数,防止外部实例化
}
public static Singleton getInstance() {
return INSTANCE; // 返回单例实例
}
}