美文网首页
Android源码泛型实现单例基类

Android源码泛型实现单例基类

作者: Frankeen | 来源:发表于2018-12-06 17:44 被阅读13次
基类
package android.util;

/**
 * Singleton helper class for lazily initialization.
 *
 * Modeled after frameworks/base/include/utils/Singleton.h
 *
 * @hide
 */
public abstract class Singleton<T> {
    private T mInstance;

    protected abstract T create();

    public final T get() {
        synchronized (this) {
            if (mInstance == null) {
                mInstance = create();
            }
            return mInstance;
        }
    }
使用
private static final Singleton<IActivityManager> gDefault = new Singleton<IActivityManager>() {
        protected IActivityManager create() {
            IBinder b = ServiceManager.getService("activity");
            if (false) {
                Log.v("ActivityManager", "default service binder = " + b);
            }
            IActivityManager am = asInterface(b);
            if (false) {
                Log.v("ActivityManager", "default service = " + am);
            }
            return am;
        }
    };

相关文章

  • Android源码泛型实现单例基类

    基类 使用

  • 对象池的使用 实现

    MonoSingleton —— 单例基类 任何继承自MonoSingleton泛型基类的脚本/类 都是单例类 u...

  • 泛型依赖注入

    泛型依赖注入 1.定义泛型 Java代码: 2.实现基类,声明泛型 Java代码: xml代码:

  • 单例模式(二)

    单例模式在Android源码中的应用 除了之前说的几种单例的实现方式之外还可以使用容器来实现。 在Android的...

  • Java 19-5.1泛型

    泛型类定义泛型类可以规定传入对象 泛型类 和泛型方法 泛型接口 如果实现类也无法确定泛型 可以在继承类中确定泛型:

  • 单例模式(Java内部类加载顺序)

    你真的会写单例模式吗——Java实现Android设计模式源码解析之单例模式深度分析 Java 的枚举类型:枚举的...

  • 单例模式 DCL(Double Check Lock)的问题

    摘抄《Android源码设计与实例》 DCL 实现单例: 问题: 关键在于instance = new Singl...

  • 008-自定义泛型,Collections

    自定义泛型 泛型类 代码实现 测试 泛型接口 代码实现 泛型方法 代码演示 测试 泛型上下边界 Collectio...

  • 设计模式:单例

    单例模式的基本介绍单例模式的实现源码中的单例模式记录 单例模式的基本介绍 定义:确保一个类只有一个实例,自行实例化...

  • Java 泛型

    导读 移动开发知识体系总章(Java基础、Android、Flutter) 为什么会有泛型? 泛型类 泛型方法 泛...

网友评论

      本文标题:Android源码泛型实现单例基类

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