单例模式:

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

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

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

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;}}

总结:

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

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

更多相关文章

  1. Android:Dagger2系列2 实例解析(更新完毕)
  2. Android(安卓)P中Activity的管理机制
  3. Android中的Content Provider
  4. Android(安卓)MVP开发模式实践
  5. Android(安卓)Cursor浅析
  6. Android(安卓)之Context
  7. 关于android中activity的四种启动模式
  8. android实体类的Parcelable
  9. Android之Content Providers

随机推荐

  1. No resource found that matches the giv
  2. Android—Animation
  3. android Recorder流程
  4. android setTag (int key, Object tag)抛
  5. Android图片轮播
  6. Android遍历获取指定目录的文件
  7. ListView与其中的Button,EditText等Widge
  8. 在ubuntu10.10上安装android sdk
  9. error:Error parsing XML:unbound prefix
  10. android开发数据存储方式