80945540 / FreeBook

基于MVP模式开发的带缓存网络爬虫,采用最流行框架搭建,干货多多
608 stars 180 forks source link

单例类 #11

Open coolBreezes opened 7 years ago

coolBreezes commented 7 years ago

超哥,想请教一下,代码中单例类用的是懒汉式,不需要加双重检查么(加同步代码块)

protected static Retrofit getRetrofit() {

    if (null == mRetrofit) {

        if (null == mOkHttpClient) {
            mOkHttpClient = OkHttp3Utils.getOkHttpClient();
        }

        //Retrofit2后使用build设计模式
        mRetrofit = new Retrofit.Builder()
                //设置服务器路径
                .baseUrl(Constant.API_SERVER + "/")
                //添加转化库,默认是Gson
                .addConverterFactory(GsonConverterFactory.create())
                //添加回调库,采用RxJava
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                //设置使用okhttp网络请求
                .client(mOkHttpClient)
                .build();
    }

    return mRetrofit;
}
80945540 commented 7 years ago

一般是不需要的 但是如果有的项目存在两个api源地址的话 需要小小改动下 去掉if (null == mOkHttpClient) 就好