Android单例模式怎么写比较好?

java开发当中,单例模式还是用的比较多,也要求性能比较稳定一些。以下写的是参考例子。可以按照这么写,以内部类和枚举类的方法写!当然,你们有更好的模式欢迎提出来!

Android单例模式怎么写比较好?

(1)内部类的实现

  1. public class SingletonInner {



  2. //内部类实现单例模式

  3. //延迟加载,减少内存开销

  4. private static class SingletonHolder {

  5. private static SingletonInner instance = new SingletonInner();

  6. }

  7. /**

  8. * 私有的构造函数

  9. */

  10. private SingletonInner() {

  11. }

  12. public static SingletonInner getInstance() {

  13. return SingletonHolder.instance;

  14. }

  15. protected void method() {

  16. System.out.println("SingletonInner");

  17. }

  18. }

调用:

  1. SingletonInner.getInstance().method();

(2)枚举的方法

  1. /**

  2. * @function:单例模式枚举实现

  3. *

  4. *

  5. */

  6. public enum SingletonEnum {

  7. /**

  8. * 1.从Java1.5开始支持;

  9. * 2.无偿提供序列化机制;

  10. * 3.绝对防止多次实例化,即使在面对复杂的序列化或者反射攻击的时候;

  11. */


  12. instance;

  13. private String others;

  14. SingletonEnum() {

  15. }

  16. public void method() {

  17. System.out.println("SingletonEnum");

  18. }

  19. public String getOthers() {

  20. return others;

  21. }

  22. public void setOthers(String others) {

  23. this.others = others;

  24. }

  25. }

调用:

  1. SingletonEnum.instance.method();

Android单例模式怎么写比较好?

额外:

getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁

Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁

getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文

this.getApplicationContext()取的是这个应 用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。

更多文章推广营销渠道,IT文章请关注个人微信公众号:U学问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值