关于okhttp使用过程当中的总结和踩坑

踩坑

  1. 程序中尽可能使用单例OkHttpClient,也就是多个http请求尽可能使用同一个OkHttpClient变量,屡次new OkHttpClient会致使抛出Too Many ope files的异常,这个异常是由于多个OkHttpClient链接了多个socket致使的,下面是一个使用OkHttpClient的示例
public static OkHttpClient okHttpClient = null;
public static OkHttpClient getOkHttpClient() {
	if (okHttpClient == null) {
		okHttpClient = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).writeTimeout(5, TimeUnit.SECONDS).readTimeout(5, TimeUnit.SECONDS).build();
	}
	return okHttpClient;
}

// 使用的时候调用getOkHttpClient方法获取同一个OkHttpClient
getOkHttpClient().newCall(req).execute();
相关文章
相关标签/搜索