アプリケーションの 1 つでレトロフィットとokhttpを使用しています。
Retrofit のデフォルトの動作について、適切な説明を見つけることができません。
Okhttp がクラス パス上にある場合は、自動的に使用されます。しかし、私が見る限り、デフォルトの HttpResponseCache は null です。
Retrofit と Okhttp でキャッシュを明示的に有効にする必要がありますか?
アプリケーションの 1 つでレトロフィットとokhttpを使用しています。
Retrofit のデフォルトの動作について、適切な説明を見つけることができません。
Okhttp がクラス パス上にある場合は、自動的に使用されます。しかし、私が見る限り、デフォルトの HttpResponseCache は null です。
Retrofit と Okhttp でキャッシュを明示的に有効にする必要がありますか?
OkHttpClient v2 の正しい実装:
int cacheSize = 10 * 1024 * 1024; // 10 MiB
File cacheDir = new File(context.getCacheDir(), "HttpCache");
Cache cache = new Cache(cacheDir, cacheSize);
OkHttpClient client = new OkHttpClient.Builder()
.cache(cache)
.build();
ドキュメントを見る
OkHttpClient を手動で作成し、好きなように構成する必要があります。この場合、キャッシュをインストールする必要があります。それが完了したら、OkClient を作成し、それをRetrofitのRestAdapter.Builderに渡します。
また、HTTP POST リクエストのキャッシュもありません。ただし、GET はキャッシュされます。