2017-07-20 26 views
0

私はokhttp3にクッキーを保存するには、2つの方法は基本的があることを知っている: - しかし、私は知りませんがより高価okhttp3でクッキーを使用すると、CookieJarはインターセプターよりもパフォーマンス上の利点がありますか?

ですこれらの操作のどの直感的にそれはそう

Using an Interceptor with Sharedpreferences 
Or a CookieJar implementation with SharedPreferences. 

は、あたかもSharedPreferencesを経由するインターセプタを呼び出すことは、より多くの場合となるかもしれませんが、CookieJarSharedPreferencesを通り抜けることは確かではありません。

ありがとうございます!

答えて

1

性能の差はごくわずかです。おそらくCookieJarを使うべきでしょう。なぜなら、それはOkHttpがあなたのためにもっと仕事をすることができるからです。

+0

そのためのおかげでクッキージャーを使用した例です。私は当初インターセプターを使い始めました。そして、クッキージャーがもっと良くなったことが判明しました。すべてが1つのクラスに入り、それは多くの繰り返しを減らしました。 – nmu

2

クッキーを使用すると、すべての着信要求と発信要求で尋ねる必要があります。これは、インターセプタが行うものとまったく同じです。ただし、Cookieはhttpsのみ、ドメイン、有効期限に関係する場合にはかなり複雑になる可能性があります。この意味で、CookieJarは実際にはあなたのためにすべてを処理するので、実際には遅くなるかもしれませんが、その価値は十分です。ここで

はOkHttp 3

import okhttp3.JavaNetCookieJar; 

CookieManager cookieManager = new CookieManager(); 
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); 
JavaNetCookieJar cookieJar = new JavaNetCookieJar(cookieManager); 

OkHttpClient client = new OkHttpClient.Builder().cookieJar(cookieJar).build(); 
関連する問題