重用Android HttpClient

时间:2012-12-26 09:56:16

标签: android httpclient

对于多个执行方法调用,是否可以使用相同的 HttpClient * 对象 *? (假设我没有同时执行 HttpGet请求

2 个答案:

答案 0 :(得分:1)

您可以使用AndroidHttpClient来执行api 8或更高版本的操作。请参阅此链接以了解如何使用AndroidHttpClient:http://www.java2s.com/Code/Android/Network/CreateHttpconnection.htm

否则,您可以使用ThreadSafeClientConnManager。 “此连接管理器不处理单个连接,而是处理它们的池,其中每个连接都可以从池中获取,分配给一个线程(然后具有对它的独占访问权限),并在线程返回到池中如果相同或另一个线程声明同一路由的连接,则可以立即从池中重用连接而无需先关闭并重新打开它,从而避免在建立连接时由HTTP执行的握手开销。例如,new connection.ThreadSafeClientConnManager将最大总连接数的默认值设置为20,并将每个路由的最大连接数设置为2。           - 来自“Android in Practice”

您可以通过此链接了解ThreadSafeClientConnManager:http://massapi.com/class/th/ThreadSafeClientConnManager.html

答案 1 :(得分:0)

使用相同的HttpClient是不安全的,但你可以使用AndroidHttpClient,

AndroidHttpClient client = AndroidHttpClient.newInstance("xxxx");

AndroidHttpClient是线程安全的。