2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Android 最常用的设计模式一 安卓源码分析—单例模式singleInstance

Android 最常用的设计模式一 安卓源码分析—单例模式singleInstance

时间:2018-11-07 07:16:17

相关推荐

Android 最常用的设计模式一  安卓源码分析—单例模式singleInstance

1.保证一个类仅有一个实例,并提供一个访问它的全局访问点

2.私有,静态的,可以通过get方法获取

3.android中有很多系统级别的全局变量,如时间,输入法,账户,状态栏等等

4.资源共享情况下,getInstance()必须适应多线程并发访问。

一.饿汉式单例:

饿汉式单例是指在方法调用前,实例就已经创建好了

懒汉单例

懒汉就是在类加载时不自动初始化单例对象,你需要时手动生成

方式一:效率低

这里的实现能够保证多线程并发下的线程安全性,但是这样的实现将全部的代码都被锁上了,同样的效率很低下。

针对某些重要的代码进行单独的同步,而不是全部进行同步,可以极大的提高执行效率

方式二:完美单例:Double Check Locking双检查锁机制(推荐)

public static MyApplication getApp(Application application) {if(sInstance== null) {synchronized (MyApplication.class) {if(sInstance== null) {sInstance= new MyApplication(application); }}}returnsInstance;}

总结: 饿汉式单例:类加载的时候加载,是默认同步的 懒汉式单例:用双检查锁机制

参考博客: /liguangzhenghi/article/details/8076361

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。