单例模式也是我最喜欢的模式,因为不管你创建多少个对象,当前对象在内存中只存在一份实例,而且像Android中对数据库的操作,对HTTP的请求都可以用单例模式来实现,而且效率也会提升不少。这里我们就对《西游记》里的主人公唐僧来实现单例模式呢:
就简单的几行代码,我们就实现了单例模式,以后调用的时候不管你new多少个对象,内存中只有一个。
在Android中调用一下看一下呢,
显示结果:
大家从图上应该能看出来,不管我new了多少个唐僧的类,它的内存地址是同一个,这就是单例模式的特性,因为一般我们都将实现单例模式的类静态化,静态化是什么意思呢?静态化就是将方法变成静态方法,JAVA中对于静态方法是可以直接调用的,不需要new出来的。接下来我们再重构一下:
其实也没多大改动,只是在getInstance方法前面加了个static 名称,这样这个方法就实现了静态方法,静态方法有什么好处呢?在Android中对于每个对象的生命周期都有很严格的规定,例如当前的Activity被另一个Activity覆盖,如果Android运行内存不够的话,前面的Activity就会被回收掉,但如果这个方法实现了static,一般是不会被回收的,这样我们就提高的代码的运行效率。接下来就我们再改一下调用方式呢:
这里我们就不用new对像了,直接用类名来调用。运行后的结果应该跟上图是一样的,两个内存地址是一样的。这一章就讲完了,谢谢大家关注。
分享到:
相关推荐
本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...
本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...
本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...
本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。本书的主要内容为:优化代码的第 一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...
本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。本书的主要内容为:优化代码的第一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、...
Android 设计模式 欢迎直接Commit更改,或者直接告诉我。 希望大家在开发 Android 应用程序时,能带来或得到一些与 Android 设计模式相关的东西。 MV* 获取更完整的 Android 应用程序。 MVP 架构介绍 View <-> ...
注解的原理,利用注解可以干什么设计模式单例模式生产者消费者模式代理模式工厂模式建造者模式安卓Android基础活动的生命周期片段生命周期上下文类相关内容MVC,MVP,MVVM异同生命周期的应用RecyclerView的缓存原理...
Android 组件化,模块化架构探索标签:Android本工程以架构方面的搭建为主,具体细节功能实现为辅第一期主要针对组件化,模块化,设计模式第二期主要尝试更高级的主题,如插件化,热修复,混合开发等第一期 公共基础...
鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...
课时20 单例设计模式Singletons 基础入门之进入Unity的世界 课时1 Unity介绍 课时2 Unity下载和安装 课时3 Unity 破解 课时4 Unity 什么是工程 课时5 Unity 学习过程介绍 课时6 Unity中的五种视图 课时7 Unity中的...