Android知识点和文章分享

单例模式

2017-06-15  本文已影响40人  未见哥哥

类单例的实现方式

类对象不允许被多次创建,也就是在整个内存中只允许一个实例出现。

优雅的实现方式

代码如下,主要是以下的3个步骤即可,下面的注释写的很明白

public class ImageLoader {
    private static ImageLoader mInstance;
    private ImageLoader(){}
    public static ImageLoader getInstance(int threadCount, Type type) {
        //①初次调用时,mInstance为null,这时候可能多个进程并发进来。这里判空时的原因是减少每次对锁的判断
        if (mInstance == null) {
            //②加锁,保证只有一个线程能进来,这时候可能还有多个其他的线程等待着
            synchronized (ImageLoader.class) {
                //③第一个进来的mInstance为null,然后实例化对象。之后排队进来的判断mInstance不为null,那么就不会再重新初始化了
                if (mInstance == null) {
                    mInstance = new ImageLoader(threadCount, type);
                }
            }
        }
    return mInstance;
    }
}
上一篇下一篇

猜你喜欢

热点阅读