2016-12-07 4 views
1

TrustManagerFactory.getTrustManagersが起動時にUIスレッドをブロックしているように見えますが、TrustManagerFactory.getTrustManagersがビルダーによって作成されているときにプロファイルされていました。完了には約111ミリ秒かかります。TrustManagerFactory.getTrustManagersのパフォーマンスがOkHttpClientの作成時に

TrustManagersに慣れていないので、もっと速い方法があり、これをOkHttpClientに提供するのに安全であるかどうか疑問に思っていました。

私はOkHttpClientの作成をバックグラウンドスレッドに延期できないかどうかを確認します。

答えて

1

あなたが呼び出すことができるはず

OkHttpClient client = new OkHttpClient.Builder().sslSocketFactory(sslSocketFactory, trustManager).build(); 

https://github.com/square/okhttp/blob/4568075b1a163bec48a8598917e6d6bcc9b2d96b/okhttp/src/main/java/okhttp3/OkHttpClient.java#L655

しかし、最終的には、これはあなたがシステムからロードするSSL関連するクラス、負荷のCA証明書をロードするためにJVMをトリガー、実行する必要があります何をやっていますこれはパフォーマンスの勝利ではないようです。

バックグラウンドスレッドでOkHttpClientを作成するのが最適な選択肢のようです。

関連する問題