Android:每个应用程序一个与许多HttpClient实例

直到最近,我们的应用程序在整个应用程序中使用ThreadSafeClientConnManager共享一个Apache HttpClient实例。 http客户端实例由一个单例类保存。

由于我不喜欢单例模式的许多问题,我重新构造了我们的API访问器是一个每线程对象,但是现在对于每个线程(大部分意味着每个活动/服务在我们的情况下)创build一个新的HttpClient实例。

这并不是说我对这种新方法有什么问题,但是我已经读过,Apache人员build议每个应用程序只有一个实例是出于性能原因。

在视觉上,我们之前做的是这样的:

HttpClient (thread safe) | | /\ / \ Activity1...ActivityN 

现在,我们这样做:

 Activity1 ... ActivityN | | | | HttpClient1 HttpClientN 

你们在应用程序中如何做到这一点? 如果你在应用程序和潜在的并发线程之间共享一个HttpClient,你如何处理对它的访问呢?

Solutions Collecting From Web of "Android:每个应用程序一个与许多HttpClient实例"

简而言之:

创build一个org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager的实例,并在构造DefaultHttpClient时使用它。

链接到示例源: HttpClientmultithreading访问

编辑:对不起,发布之前没有看到您的编辑。 在这种情况下,“单身人士”没有任何内在的错误。