代码之家  ›  专栏  ›  技术社区  ›  VolodymyrH

如何使OkHttp请求更快?

  •  1
  • VolodymyrH  · 技术社区  · 8 年前

    岗位 请求保护服务器,这需要很长时间。我想让它更快。有机会吗?看起来是这样的:

      private class GetTokenTask extends AsyncTask<Void, Void, String> {
    
        private final String LOG_TAG = MainActivity.class.getSimpleName();
    
        private Call mCallToServer;
        private String mAccessToken;
        private OkHttpClient mHttpClient;
        private JSONObject mResponseJSON;
        private Response mResponseFromServer;
    
        @Override
        protected String doInBackground(Void... params) {
          mHttpClient = new OkHttpClient();
    
          mCallToServer = mHttpClient.newCall(requestToOAuth());
          try {
            mResponseFromServer = mCallToServer.execute();
            mResponseJSON = new JSONObject(mResponseFromServer.body().string());
            mAccessToken = mResponseJSON.getString(getString(R.string.access_token_key));
    
            Log.i(LOG_TAG, mAccessToken);
            Log.i(LOG_TAG, JWTUtils.decoded(mAccessToken));
          } catch (Exception e) {
            e.printStackTrace();
          }
          return mAccessToken;
        }
    
        @Override
        protected void onPostExecute(String token) {
          super.onPostExecute(token);
        }
      }
    

    也许是另一个图书馆之类的?

    1 回复  |  直到 8 年前
        1
  •  5
  •   Yuri Schimke    8 年前

    首先,尝试OkHttp 3.9.0的实验性EventListener API,看看它在哪里花费时间。

    https://github.com/square/okhttp/wiki/Events

    这还取决于速度的重要性。你想用正确性换取速度。但是有很多原因可能会中断,因此您需要回退到正确的解决方案。

    • 确保HTTP/2正常工作。
    推荐文章