Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TrustManagerFactory.GetTrustManager在OkHttpClient创建时的性能_Android_Okhttp_Okhttp3 - Fatal编程技术网

Android TrustManagerFactory.GetTrustManager在OkHttpClient创建时的性能

Android TrustManagerFactory.GetTrustManager在OkHttpClient创建时的性能,android,okhttp,okhttp3,Android,Okhttp,Okhttp3,我从分析中注意到,当生成器创建我的OkHttpClient时,TrustManagerFactory.getTrustManagers似乎花费了很长时间,并且在启动时阻塞了我的UI线程。大约需要111毫秒才能完成 由于不太熟悉TrustManager,我想知道是否有一种更快的方法仍然安全地将这些提供给OkHttpClient,并将其作为一个问题删除 同时,我将查看是否不能将我的OkHttpClient的创建延迟到后台线程。您应该可以调用 OkHttpClient client = new OkH

我从分析中注意到,当生成器创建我的
OkHttpClient
时,
TrustManagerFactory.getTrustManagers
似乎花费了很长时间,并且在启动时阻塞了我的UI线程。大约需要111毫秒才能完成

由于不太熟悉TrustManager,我想知道是否有一种更快的方法仍然安全地将这些提供给
OkHttpClient
,并将其作为一个问题删除


同时,我将查看是否不能将我的
OkHttpClient
的创建延迟到后台线程。

您应该可以调用

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

但最终这是您需要做的事情,触发JVM加载SSL相关类,从系统加载CA证书等。因此,这似乎不太可能是一个性能胜利

在后台线程上创建OkHttpClient听起来是最好的选择