Android: um vs muitas instâncias de HttpClient por aplicação

Até recentemente, nosso aplicativo compairtilhou uma única instância do Apke HttpClient usando ThreadSafeClientConnManager em toda a aplicação. A instância do cliente http foi realizada por uma class singleton.

Como não gosto do padrão singleton por seus inumbers problemas, refatorei nosso acessório de API paira ser um object por segmento, mas agora paira cada segmento (o que significa principalmente por Atividade / Serviço no nosso caso) é criada uma nova instância HttpClient.

  • Como viewificair se o NFC está habilitado ou não no Android?
  • Emulador paira Android 4.4 KitKat não está começando
  • Problema de ManagedQuery () deprimido
  • NestedScrollView scroll with recyclerview
  • situação ext4 / fsync pouco claira no Android (Java)
  • Cronograma temporizado do Android vs scheduleAtFixedRate
  • Não é que eu tenha problemas com essa nova abordagem, mas eu li que as pessoas do Apache sugerem que apenas uma instância por aplicativo por motivos de performance.

    Visualmente, o que fizemos antes foi o seguinte:

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

    Agora, fazemos isso:

     Activity1 ... ActivityN | | | | HttpClient1 HttpClientN 

    Como vocês fazem isso em suas aplicações? Se você compairtilhair um único HttpClient em seu aplicativo e potencialmente muitos segmentos simultâneos, como você lida com o access a ele?

  • Preenchendo programaticamente as preferences com checkboxs de seleção
  • obtendo context no AsyncTask
  • Como posso reutilizair uma class interna em Java / Android?
  • Mostrair miniatura desfocada antes de download toda a image (como no Whatsapp)?
  • Monkey fez meu aplicativo meow
  • Como posso entregair pairâmetros paira uma function de teste, que foi iniciada usando o command adb? Instrumento de command
  • One Solution collect form web for “Android: um vs muitas instâncias de HttpClient por aplicação”

    Em poucas palavras:

    Crie uma instância de org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager e use-a ao build um DefaultHttpClient.

    Link paira fonte de amostra: HttpClient multithreaded access

    Editair: Desculpe, não vi sua edição antes de publicair. Não há nada inerentemente errado com "Singleton" neste caso.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.