前言
单例模式(Singleton Pattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最常用、最易被识别出来的模式。
本文会重点总结一下Android开发中常用的单例模式场景,理论与实践结合,深入学习设计模式,从而提高大家的开发水平,完美解决开发中遇到的类似问题。
文章目录
单例模式介绍
单例模式的定义
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
单例模式的使用场景
确保某个类有且只有一个对象的场景。避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。如在一个应用中,应用只有一个ImageLoader 实例,这个 ImageLoader 中又含有线程池、缓存系统、网络请求等,很消耗资源,因此,没有理由让它构造多个实例。
优点
-
由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非常明显。
-
由于单例模式只生成一个实例,所以减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后用永久驻留内存的方式来解决。
-
单例模式可以避免对资源的多重占