为每个新请求重新使用HTTPClient实例是不好的做法。我创建了一个request
来从雅虎webservice
获取数据,现在在另一个页面中我对谷歌进行了webservice
调用。
我可以在这两个不同的页面中使用相同的HTTPClient实例,还是应该为这两个页面创建新的HTTPClient对象?
答案 0 :(得分:5)
您绝对应该重复使用它们并将HttpClient
视为单身人士。在整个应用程序中重复使用单个实例可以利用保持活动连接并在调用之间保持cookie。
为3.x:
引用official documentation通常建议每个通信组件或每个应用程序都有一个HttpClient实例。但是,如果应用程序很少使用HttpClient,并且不保证在内存中保留HttpClient的空闲实例,则强烈建议在部署HttpClient实例之前显式关闭多线程连接管理器。这将确保正确关闭连接池中的所有HTTP连接。
这同样适用于4.x,只需确保使用PoolingClientConnectionManager
。