I have done a bit of research over this.
I have been using Apache HttpClient for a long time on Android.
It looked like a natural choice to me and I thought that it would be improved over time.
On the other hand, while I was developing for legacy BlackBerry OS, I have been using
HttpUrlConnection.
It was clearly evident to me that the performance of BlackBerry was better than Android in context of networking.
HttpClient is a fully functional, but buggy, class that provides a huge set of APIs/methods. It can be used to create a fully functional web browser for Android. But it has some issues on older versions of Android and it’s not actively being contributed to by Google.
Whereas HttpUrlConnection has a pretty useful API that is just useful to develop a networking client application. It has improved response caching and improved compression technique on Android 2.3 and above. It is recommenced when you are building a networking client application.
"Apache HTTPClient has fewer bugs on Android 2.1 (Eclair) and Android 2.2 (Froyo). It is the best choice for these releases.
For Android 2.3 (Gingerbread) and better, HttpURLConnection is the best choice. Its a simple API and small size makes it great fit for Android. Transparent compression and response caching reduce network use, improve speed and save battery. New applications should use HttpURLConnection; it is where Google will be spending its energy going forward."
Reference for details
Android’s HTTP Clients