美文网首页我爱编程
Android 中的单例最常用方式

Android 中的单例最常用方式

作者: 周易1386 | 来源:发表于2018-04-08 14:55 被阅读0次

1.常见的单例写法:

单例在开发中用经常被用到,它的特点就像名字一样,在单进程中只会创建一个实例,并提供一个访问它的全局访问点。

常见的单例写法有:

1 懒汉式【线程不安全】

2 懒汉式【****synchronized 线程安全】

3 饿汉式【线程安全】

4 DCL双重校验模式【线程安全】

5 静态内部类单例模式【线程安全】

6 枚举单例【线程安全】

7 使用容器实现单例模式

这里只介绍其中推荐使用的一种 静态内部类单例模式。

2.原理分析

举个栗子:

public class InStanceDemo {

private InStanceDemo() {

}

public static final InStanceDemo getInstance() {

return InstanceHolder.inStance;

    }

private static class InstanceHolder {

public static final InStanceDemo inStance =new InStanceDemo();

    }

}

在这个栗子中,其中的 InStanceDemo 只能通过getInstance()来获得实例。

1.首先InStanceDemo 的构造函数为private修饰的,所以不可以通过new 来新建实例,从而控制了新建实例的途径。

2.这里使用一个静态内部类InstanceHolder 内部的静态参数InStance来控制新建InstanceDemo ,你可能问为什么这么做,这里说明下这么做的好处:

在第一次调用 InStanceDemo.getInstance的时候,会先走静态内部类,对静态内部类中的参数进行加载,从而创建InStanceDemo 的实例,并且 当第二次调用getInstance的时候,静态内部类中的参数已经加载完成,所以只会加载一次,同时,只有在去第一次调用getInstance 的时候才会去创建InStanceDemo 的实例,不调用是并不会创建,从而节省了内存空间,减少了内存消耗。同时 线程是安全的,不必担心线程安全问题。

其他模式参考:http://www.jcodecraeer.com/plus/view.php?aid=8613

相关文章

  • 简单聊聊单例模式

    单例模式应该是Android开发中常用的一种设计模式。不仅我们经常用到,Android源码中也经常可以看到单例模式...

  • 【设计模式】单例模式

    单例模式 常用单例模式: 懒汉单例模式: 静态内部类单例模式: Android Application 中使用单例模式:

  • Android 中的单例最常用方式

    1.常见的单例写法: 单例在开发中用经常被用到,它的特点就像名字一样,在单进程中只会创建一个实例,并提供一个访问它...

  • 单例模式(二)

    单例模式在Android源码中的应用 除了之前说的几种单例的实现方式之外还可以使用容器来实现。 在Android的...

  • 单例模式的常用实现方式

    单例模式属于最常用的设计模式,Java中有很多实现单例模式的方式,各有其优缺点 实现方式对比 单例实现方式线程安全...

  • 创建单例模式(Singleton)的几种方式

    单例模式可能是最常用到的设计模式了,但是想要正确的使用单例模式却并不简单。 我们先从最简单最常用的方式开始: 转自...

  • LayoutInflater源码分析

    在《(-)Android中的单例模式》分析中,我们分析了Android中单例模式的实现,且以LayoutInfla...

  • java中单例模式实现(包含double-check)

    单例模式是24中设计模式中的最常用、也是最为简单的一种设计模式。java中实现单例模式的方式,大致分为两种: 1、...

  • 内存泄露优化总结

    1、单例导致内存泄露 单例模式在Android开发中会经常用到,但是如果使用不当就会导致内存泄露。因为单例的静态特...

  • 单例模式

    3、单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象...

网友评论

    本文标题:Android 中的单例最常用方式

    本文链接:https://www.haomeiwen.com/subject/sbgphftx.html