retrofit总结

2019-12-06  本文已影响0人  couriravant

1.在使用Retrofit的时候,我们在通过[Builder模式]获取到Retrofit对象之后,需要通过create方法来获取到接口对象

  1. 在retorfit.create中,在动态代理中根据接口参数和注解参数,生成ServiceMethod对象,传入OkHttpCall中,构建OkHttp的请求。
    3.通过CallAdapter的adapt转换成Rxjava的observable类型。
  2. 构建OkHttpCall的参数中有httpExecutor线程池,
 private static final Executor sExecutor = Executors.newCachedThreadPool(new ThreadFactory() {
      @Override
      public Thread newThread(final Runnable r) {
        return new Thread(new Runnable() {
          @Override
          public void run() {
            Process.setThreadPriority(THREAD_PRIORITY_BACKGROUND);
            r.run();
          }
        }, IDLE_THREAD_NAME);
      }
    });
  1. 通过CallbackExecutor将结果返回给主线程
 static class MainThreadExecutor implements Executor {
      private final Handler handler = new Handler(Looper.getMainLooper());

      @Override public void execute(Runnable r) {
        handler.post(r);
      }
    }
上一篇 下一篇

猜你喜欢

热点阅读