创建OkHttpClient的新实例很慢(500ms)

时间:2017-07-20 14:38:33

标签: android performance okhttp okhttp3 motorola

我在创建OkHttpClient类的新实例时遇到问题。它需要500-600毫秒。

import okhttp3.OkHttpClient;

OkHttpClient client = new OkHttpClient();

我只在使用Android api 16的Motorola TC55上遇到问题。我在版本3.8.1中使用了OkHttp库。我试过的其他设备正常工作并立即创建了实例。

我还在设备Motorola TC55上的2.4.0版本中尝试了OkHttp库,并立即创建了实例。

从跟踪器中可以明显看出它减慢了密钥库的加载速度。

Stack - Method Tracer

1 个答案:

答案 0 :(得分:0)

最有可能初始化SSL套接字工厂,信任管理器和证书链清理器很慢。从OkHttp 2.7.5开始,清理证书链是新的。此代码适用于潜在的安全问题。

最好的缓解措施是为所有请求重用相同的OkHttp客户端实例。或者尝试在API 16中找到一种优化证书链清理程序的方法。

https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/platform/AndroidPlatform.java#L187