Retrofit2.0 这个网络请求框架使用了很久了,最近一次出现一个小插曲。

有一个接口,返回的数据量因为业务的原因 会返回很大的数据量,此时网络不大好的情况下,会出现请求失败的情况

也就是回调了 onFaileure()方法,测试一下,大概都在10秒就会回调这个方法。

去后台验证,发现数据请求成功,获取成功,也就是不是数据的问题,那问题就在于请求的数据量过大导致请求没有10秒内处理成功的话就会请求失败。

解决办法就是给请求框架设置一个连接超时时间

   // Retrofit 网络数据请求
public static RetrofitAPI Retrofit() {
if (retrofitAPI == null) {
retrofitAPI = new Retrofit.Builder()
.baseUrl(ApkManager.baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.client(genericClient())
.build()
.create(RetrofitAPI.class);
}
return retrofitAPI;
} public static String date = ""; //记录版本发布时间 public static OkHttpClient genericClient() {
OkHttpClient httpClient = new OkHttpClient.Builder()
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader("User-Agent", "xxxx/xxxx/"+date)
.build();
return chain.proceed(request);
}
}).connectTimeout(, TimeUnit.SECONDS). // 设置连接超时时间
readTimeout(, TimeUnit.SECONDS).
writeTimeout(, TimeUnit.SECONDS).build(); return httpClient;
}

最新文章

  1. 如何知道SQL Server机器上有多少个NUMA节点
  2. [转载]Python 资源大全
  3. 【AngularJS】—— 12 独立作用域
  4. [Android Pro] Android API 23中废弃了HttpClient的解决办法
  5. Code Review for SSIS package
  6. 20161004 NOIP 模拟赛 T1 解题报告
  7. 【uTenux实验】邮箱
  8. weblogic myeclipse小知识
  9. C# 之 集合整理
  10. 织梦 dedecms 中LOOP 万能标签循环 调用 arcurl标签(获取链接)
  11. ubuntu 16.04 下载源
  12. HDU 1551 Cable master
  13. Android学习笔记-App初始启动界面实现
  14. .net core实现redisClient
  15. git简单提交操作
  16. TCP/IP协议(一)网络基础知识 网络七层协议
  17. u-boot移植(九)---代码修改---NAND
  18. [转]WordPress主题开发:主题初始化
  19. 2.TypeScript 基础入门(二)
  20. Nginx+Memcached+Tomcat集群配置实践(Sticky Session)

热门文章

  1. 将AE开发的专题图制作功能发布为WPS
  2. 解决SpannableString在Android组件间传递时显示失效的问题
  3. 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
  4. FreeSql v0.5.x 功能介绍
  5. 【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览
  6. cesium 之地图贴地量算工具效果篇(附源码下载)
  7. 如何用RSS订阅?
  8. shell读取文件内容并进行变量赋值
  9. MIP 2016年终总结
  10. 快速构建SPA框架SalutJS--项目工程目录 二