设计模式~单例-[Android_YangKe]

单例模式:

众所周知android是基于java编程语言的一种操作系统, 所以只要懂java熟悉android api大都可以进行简单的项目开发, 但移动端设备的硬件资源是有限的, 所以要做出一个高性能的产品是需要强大内功的.

例:
1.Java功底
2.android熟悉程度
3.设计模式

开发一款android产品Java功底和android熟悉程度抛开不说, 今天我们来讲下设计模式. 设计模式不仅仅java和android有, 其他很多语言也都具备, ok 开始今天的话痨.

设计模式~单例-[Android_YangKe]_第1张图片
yangke.png
单例模式:

单例模式属于创建型模式中的一员, 此模式中, 类公开定义一个函数对外开放当前实例, 同时构造方法是私有的.
构造方法私有作用: 确保我们的对象在外部不能通过new关键字进行创建对象以达到单例.

单例模式整体分为两种:
1.懒汉模式
2.饿汉模式

懒汉模式
当需要对象时才会进行构建, 避免不必要的内存开销.

饿汉模式
当类加载时就去创建对象, 类似一种预加载, 这种情况需要考虑实际业务, 并非全部的业务都需要使用懒加载模式.

例(懒汉模式):

public class Singleton2 {

private Singleton2() {}

public static Singleton2 getInstance(){
    return Inner.sInstance; 
}

static class Inner {
    private static final Singleton2 sInstance = new Singleton2(); 
}
}

例(饿汉模式):

public class Singleton3 {

private Singleton3() {}

private static Singleton3 sInstance = new Singleton3();

public static Singleton3 getInstance() {
    return sInstance;
}
}

总结:

主要解决:一个全局使用的类频繁地创建与销毁.
何时使用:当您想控制实例数目,节省系统资源的时候.
关键代码:构造函数是私有的.
优点:整个进程中对象的实例保证唯一一个, 避免内存的多次开销.
缺点:没有接口,不能继承.

喜欢有帮助的话: 双击、评论、转发,动一动你的小手让更多的人知道!关注 帅比-杨

你可能感兴趣的:(设计模式~单例-[Android_YangKe])