我从分析中注意到,当构建器创建OkHttpClient
时,TrustManagerFactory.getTrustManagers
似乎花了很长时间并且在启动时阻止了我的UI线程。完成需要大约111毫秒。
对TrustManagers并不是非常熟悉,我想知道是否有更快的方法可以将这些提供给OkHttpClient
,并将其作为一个问题删除。
与此同时,我会看看是否可以将我的OkHttpClient
的创建推迟到后台主题。
答案 0 :(得分:1)
您应该可以致电
OkHttpClient client = new OkHttpClient.Builder().sslSocketFactory(sslSocketFactory, trustManager).build();
但最终这是你需要做的事情,触发JVM加载加载SSL相关类,从系统加载CA证书等。所以这似乎不太可能是性能上的胜利。
在后台线程上创建OkHttpClient听起来是最好的选择。