2013-06-05 3 views
2

HttpURLConnection과 HttpClient를 스레드에서 사용하도록 만들어진 안드로이드 애플 리케이션을 유지 관리하고 있습니다. 공유 인스턴스를 재사용하기보다는 매번 새로운 인스턴스가 사용됩니다 (적어도 HttpClient의 경우 좋지 않은 것으로 알고 있으며 변경하려고합니다). 대부분의 연결은 동일한 서버로 이루어집니다. 일부 연결이 사용 중이면 다른 스레드가 차단된다는 것을 알았습니다. Android HttpClient performance에서 HttpClient는 기본적으로 동일한 대상 호스트에 대해 두 개의 동시 연결 만 허용한다는 것을 알고 있습니다. 나는 또한 URLConnection or HTTPClient : Which offers better functionality and more efficiency?의 응답에서 동일한 호스트에 대한 HttpUrlConnection 동시 연결이 직렬화된다는 것을 알 수 있습니다.안드로이드 HttpURLConnection, HttpClient 공존 및 연결 제한

HttpClient 및 HttpUrlConnection의 동시 연결 수 제한을 어떻게 변경합니까? HttpURLConnection과 HttpClient를 동일한 응용 프로그램에서 문제없이 공존시킬 수 있습니까? 아니면 그 중 하나만 사용하는 것이 더 좋을까요? 감사합니다. .

+0

는, 데이미언? –

답변

3

구글은 HttpClient가 더 이상 안드로이드에서 유지 관리되지 않는다고 말했고, 이는 기본적으로 그것이 머무를 수는 있지만, 향상시키지 않을 것이라는 의미입니다. 그들은에 의해 (내가 OkHttp을 살펴 것, 사람들이 HttpURLConnection의, HttpURLConnection의이 Androind의 버전에 따라 약간의 버그가 사용하는 것이 :(

개인적으로 (당신이 안드로이드 개발자 블로그 http://android-developers.blogspot.ca/2011/09/androids-http-clients.html에 모두 선택에 대한 자세한 내용을보실 수 있습니다) 선호 그것이 거의 HttpURLConnection의 교체에 드롭 제공하지만 연결 풀링 및 SPDY 지원을 제공하기 때문에 광장). 당신이 일을 결정 했는가

http://square.github.io/okhttp/

+0

주셔서 감사합니다. 나는 OkHttp 쳐다 보면서 난 아직 할 수 없습니다 동일한 호스트에 대한 동시 연결에 한도가 적용되는지 여부를 결정합니다. 다양한 응용 프로그램을 계속 테스트하고 있습니다. 연결 부하. – Damien

+0

HttpClient에서 OkHttpClient로 바뀌었고 더 이상 I/O 예외가 발생하지 않았습니다. java.io.EOFException : libcore.io.Streams.readAsciiLine (Streams.java:203) (Jelly Bean)입니다. 감사! – droideckar

관련 문제