android中常见的设计模式-单例模式

单例模式

顾名思义,就是只有一个实例。那如何能保证访问的对象是单例且是线程安全的呢。我们就从以下几点分析以下:

常见的单例模式如下:

1.饿汉式


特点:声明静态对象时就已经初始化对象,所以是线程安全的。

2.懒汉式


特点:第一次调用getInastance()方法的时候初始化对象,在访问对象上增加了synchronized字段,会造成资源消耗浪费,必须同步才可以完成调用,影响多线程访问效率,但如果不加synchronized 字段,会造成线程不安全。

3.静态内部类单例模式。



加载singleton 类时不会初始化instance 只有在调用getInstance 方法时,才会导致instance 被初始化,这个方法不仅能够确保线程安全,也能够保证 单例对象的唯一性,同时也延迟了单例的实例化,是推荐使用的单例模式实现方式。

4.容器模式


特点:容器模式可以把很多单例注入到一个容器中,然后根据key获取对应的对象。好处是:可以统一管理、降低用户使用成本,隐藏实现、降低耦合度。

5.其他模式,还有一些是不常见的,比如:枚举单例、DCL模式,这里就不介绍了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容