okhttpclient 单例
时间: 2023-09-21 17:10:47 浏览: 73
Okhttp示例
在 Android 开发中,我们通常使用 OkHttpClient 来进行网络请求。为了避免重复创建 OkHttpClient 对象,提高性能,可以使用单例模式来创建 OkHttpClient 对象。
以下是一个简单的 OkHttpClient 单例示例:
```java
public class HttpClient {
private static volatile OkHttpClient sInstance;
public static OkHttpClient getInstance() {
if (sInstance == null) {
synchronized (HttpClient.class) {
if (sInstance == null) {
sInstance = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();
}
}
}
return sInstance;
}
}
```
在 getInstance() 方法中,我们使用双重校验锁来确保线程安全。如果 sInstance 为空,则使用 synchronized 加锁创建 OkHttpClient 对象。
这样,在应用程序中的任何位置,都可以通过调用 HttpClient.getInstance() 方法来获取单例的 OkHttpClient 对象。
阅读全文