【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
踩坑
- 程序中尽量使用单例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();
来源:oschina
链接:https://my.oschina.net/u/222749/blog/3143347