retrofit2每次请求都需要new Retrofit.Builder();吗?

小学生_hd 2017-11-21 11:11:27
retrofit2每次请求都需要new OkHttpClient.Builder();和new Retrofit.Builder();吗?

我尝试static Retrofit retrofit(整个应用一个)并实现new CookieJar(),现在遇到问题:

fragmentA + ViewPager + fragmentB,每一个fragmentB都需要发送请求,现状是偶尔能得到数据,偶尔得不到,得到都需要等待很长的时间,没有得到的来回切换ViewPager又有可能得到,请求方法是放在fragmentB的onResume()中的。

retrofit2结合了RxJava和rxlifecycle。

如果每次创建Retrofit,有需要解决cookie共享的问题,是吗?

另一个问题:retrofit.create(clazz),在使用时每次都需要实例化Api接口吗?

比如Api接口中有5个请求方法,在每次请求的时候是单独create还是能在比如Activity中用一个成员变量接收创建一次?
...全文
429 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonFY 2017-11-21
  • 打赏
  • 举报
回复
数据请求的问题: Fragment的请求 你放在 onCreateView 中就可以了啊,放在 onResume 中请求会慢,fragment马上就显示了,你才去请求数据,肯定会慢,不知道你说的 慢是多长时间,看看调试一下看下是服务器原因还是其他原因。 Cookie 这个不知道,没做过, retrofit.create(clazz) 你每做一次 实例化 就会得到一个 ApiService 的实例化对象 当然是创建一个静态变量 就第一次初始化的时候 创建一次,后面都用静态变量来进行请求,就不用再初始化了

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧