0
改造対象にシングルトンパターンを使用することが最善であると理解します。私は通常、改造の代わりにService Interfaceオブジェクトを再利用します。私は(検索APIは、20秒の読み取りタイムアウトを持つ10秒と検証APIを持つのに対し、提出APIは、40秒の読み取りタイムアウトを使用)、それぞれ異なるエンドポイントの異なるKPIを持っているところRetrofit + Dagger + Timeouts
@Provides
@Singleton
RestAPIService providesRestAPIService(Retrofit retrofit) {
return retrofit.create(RestAPIService.class);
}
はしかし、私のプロジェクトにおける要件は、今があります。
したがって、複数のdiff読み取りタイムアウトシナリオでDIを使用する適切な方法は何ですか?複数のOkhttpインスタンスまたは複数のRetrofitインスタンスまたは複数のAPIインスタンスを作成する必要がありますか?
直接ではなくクラスを作成し、そのクラスにタイムアウトの初期値を定義し、それのためのゲッターとセッターを作成し、このゲッターを通じてタイムアウトを設定することができる値を設定し、変更する必要がある場合timeout他のタイムアウトを設定します。 –
ファクトリを使用して、異なるkpiのokhttpのインスタンスを個別に作成します。シングルトンを使用することは、潜在的に1つのスレッドが1つのタイムアウト値で前記シングルトンを使用し、別のスレッドが異なるタイムアウトを使用する可能性があるため、危険性が高い。 – t0mm13b