Android设计模式学习之单例模式

原创 2015年07月09日 18:58:10

搜集的资料:

http://blog.csdn.net/banketree/article/details/24985607  Android 设计模式

http://mobile.51cto.com/ahot-418968.htm   Android进阶之大话设计模式

第一天:

单例模式,http://blog.csdn.net/liguangzhenghi/article/details/8076361、   http://blog.csdn.net/jason0539/article/details/23297037

单例模式的特点:
首先,单例模式使类在程序生命周期的任何时刻都只有一个实例,然后,单例的构造函数是私有的,外部程序如果想要访问这个单例类的话,必须通过 GetInstance()来请求(注意是请求)得到这个单例类的实例。

即:

1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

单例常用的两种模式:饿汉模式和懒汉模式

饿汉式和懒汉式区别
1、线程安全:
饿汉式是线程安全的,可以直接用于多线程而不会出现问题,懒汉式就不行,它是线程不安全的,如果用于多线程可能会被实例化多次,失去单例的作用。
如果要把懒汉式用于多线程,有两种方式保证安全性,一种是在getInstance方法上加同步,另一种是在使用该单例方法前后加双锁。
2、资源加载:
饿汉式在类创建的同时就实例化一个静态对象出来,不管之后会不会使用这个单例,会占据一定的内存,相应的在调用时速度也会更快,
而懒汉式顾名思义,会延迟加载,在第一次使用该单例的时候才会实例化对象出来,第一次掉用时要初始化,如果要做的工作比较多,性能上会有些延迟,之后就和饿汉式一样了。

如果不需要外部通过构造函数传入参数的话,就用饿汉式,否则的话就用懒汉式。用懒汉式的时候要记得考虑线程安全的问题。

Android设计模式学习笔记(单例模式)

Android设计模式学习笔记(单例模式) 注:该学习笔记来源于《Android 源码设计模式解析与实战》一书 5种实现方式 1、懒汉模式 2、Double Check Lock(DCL)...

设计模式实例学习-单例模式(Android中的使用场景)

设计模式实例学习-单例模式标签: 设计模式定义 单例模式,故名思议,是指在一个类中通过设置静态使得其仅创造一个唯一的实例。这样设置的目的是满足开发者的希望——这个类只需要被实例化创建一次,同时因...

设计模式学习之单例模式

  • 2013年12月11日 21:43
  • 5KB
  • 下载

《Android学习笔记》Android设计模式之单例模式

单例模式是设计模式中最常见也最简单的一种设计模式,保证了在程序中只有一个实例存在并且能全局的访问到。比如在android实际APP 开发中用到的 账号信息对象管理, 数据库对象(SQLiteOpenH...
  • HecLzo
  • HecLzo
  • 2017年11月27日 15:09
  • 22

Android设计模式之单例模式的七种写法

一 单例模式介绍及它的使用场景单例模式是应用最广的模式,也是我最先知道的一种设计模式,在深入了解单例模式之前,每当遇到如:getInstance()这样的创建实例的代码时,我都会把它当做一种单例模式的...

Android设计模式系列-单例模式

单例模式,可以说是GOF的23种设计模式中最简单的一个。 这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上...

Android开发设计模式之——单例模式

单例模式是设计模式中最常见也最简单的一种设计模式,保证了在程序中只有一个实例存在并且能全局的访问到。比如在android实际APP 开发中用到的 账号信息对象管理, 数据库对象(SQLiteOpenH...

Android开发中的设计模式—单例模式的详细解释

Android开发中的设计模式—单例模式的详细解释: 1. 单例模式的特点: (1).保证一个类只有一个实例 (2).提供一个能访问到他的全局访问点。 (3)....

Android源码设计模式解析与实战之二单例模式

定义 确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 使用场景 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。例如:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android设计模式学习之单例模式
举报原因:
原因补充:

(最多只允许输入30个字)