我想知道,AndroidHttpClient线程是否安全,因为文档中没有提到这一点。意味着,AndroidHttpClient
的单个实例可以在多个线程之间共享。
答案 0 :(得分:9)
是的,它是线程安全的。
AndroidHttpClient
是DefaultHttpClient
的特殊实现,已针对Android进行了预配置。它注册ThreadSafeClientConnManager
,允许通过托管连接池进行线程安全的HTTP访问。 AndroidHttpClient
还对超时和套接字缓冲区大小应用合理的默认设置。它默认也支持HTTPS。
您可以找到源代码here。
答案 1 :(得分:2)
根据代码,它是线程安全的,因为它使用
ClientConnectionManager manager =
new ThreadSafeClientConnManager(params, schemeRegistry);
根据source
唯一的缺点是Api等级8及以上(2.2.x)
答案 2 :(得分:2)
是的,它的线程安全。另外,请务必使用工厂方法:
newInstance(String userAgent, Context context)
与HTTPS一起使用时,确保缓存SSL会话。