美文网首页
Android和Kotlin的单例写法

Android和Kotlin的单例写法

作者: 小迷糊_dcee | 来源:发表于2019-12-25 15:23 被阅读0次

1、原始的单利方式(多线程并发,会重复new对象,不推荐使用)
Android

public class MyInstance {
    private static MyInstanceinstance;
    public static MyInstance getInstance(){
        if(instance==null){
            instance=new MyInstance();
        }
        return  instance;
        }
}

kotlin

class MyInstance {
    companion object{
        val instance by lazy(LazyThreadSafetyMode.NONE){
            MyInstance()
        }
    }
}

2、添加线程锁(实现了单例,但是效率降低了,不推荐使用)
Android

public class MyInstance {
    private static MyInstance instance;
    public static synchronized MyInstance getInstance(){
        if(instance==null){
            instance=new MyInstance();
        }
        return  instance;
    }
}

Kotlin

class MyInstance {
    companion object{
        private var instance:MyInstance?=null
         @Synchronized
        fun get():MyInstance{
            if(null==instance)instance=MyInstance()
            return instance as MyInstance
        }
    }
}

3、双层加锁判断,并且线程安全(推荐使用)

public class MyInstance {
    private static MyInstance instance;
    public static MyInstance getInstance() {
        if (instance ==null) {
            synchronized (MyInstance.class) {
                if(instance==null){
                    instance=new MyInstance();
                }
            }
        }
        return  instance;
    }
}

Kotlin

class MyInstance {
    companion object{
        val instance by lazy(LazyThreadSafetyMode.SYNCHRONIZED){
            MyInstance()
        }
    }
}

相关文章

  • Android和Kotlin的单例写法

    1、原始的单利方式(多线程并发,会重复new对象,不推荐使用)Android kotlin 2、添加线程锁(实现了...

  • 浅谈kotlin和java的不同之处

    kotlin的数据类代替java的setter和getter写法。kotlin中的object代替java中的单例...

  • Kotlin中的单例模式与Java对比

    目前java中的单例模式有多种写法,kotlin中的写法更多一点,本篇会总结全部的到单例模式写法。 一、懒人写法(...

  • Android Kotlin 设计模式之单例模式

    Android Kotlin 单例模式 前言 最近学习Kotlin,所以也在对比Kotlin和java的差异,在j...

  • 11.1设计模式-单例模式-详解

    单例模式: 单例介绍 单例的六种写法和各自特点饿汉、懒汉、懒汉安全、DCL、静态内部类、枚举。 android中的...

  • Kotlin——单例模式

    最近在写项目的同时也用到了单例模式,kotlin的单例还不是很会写,现在就总结下java写法对应的kotlin是如...

  • Kotlin中使用Dagger的坑

    1.注入的不同写法 2.@Name用法 单例 说明: kotlin 中 单例 使用 关键字 object, 但是 ...

  • kotlin学习笔记

    kotlin基础知识 基础语法 kotlin中的特殊语法 object创建匿名内部类的写法kotlin中声明单例的...

  • java单例的另一种写法

    java单例的另一种写法 阅读android源码时发现ActivityManager有一个单例的写法如下: Sin...

  • 单例

    典型单例的写法 另一种优美的写法,利用静态变量 更加优美的写法(android慎用)

网友评论

      本文标题:Android和Kotlin的单例写法

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