2016-04-05 10 views
0

私は、Webサービスを使うたびに新しいオブジェクトを作成し直しました。 Webサービスの応答時間は良いです。しかし、アプリ内で試してみると遅くなります。Retrofit用の新しいオブジェクトを作成すると、サービスの応答時間が遅くなりますか?

これは応答に影響しますか?レトロフィットのドキュメントのビルドで

Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(ApiConstants.BASE_URL) 
      .addCallAdapterFactory(new ErrorCallback.ErrorHandlingCallAdapterFactory()) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 
+1

メモリ使用量に影響します。 Retrofitインスタンスを再利用する必要があります。 – EpicPandaForce

+0

ありがとう。しかし、これはとにかくWebサービスの応答に影響しますか? TLが私に言ったように、新しいインスタンスが作成されるたびに新しい接続が作成され、ハンドシェイクが実行されて遅延が発生します。 – Navdroid

答えて

1

、baseUrlに、addCallAdapterFactoryは、addConverterFactory操作は、すべての接続をentablishいけません。これは、通信のためにRetrofitインスタンスを準備するためだけに使用されるため意味があります。

また、安心なserviciesが通常HTTPを通信に使用することを考慮すると、セッションごとに接続を確立する必要はありません。 WebサービスAPIの操作を呼び出すたびに接続が確立されます。

したがって、毎回インスタンスを作成しても通信には影響しませんが、クライアントCPUとメモリリソースには影響しません。

関連する問題