我有一个需要支持Android 1.6 +的应用
基于这篇文章: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
根据我的经验,这个错误:(来自链接)
在Froyo之前,HttpURLConnection有一些令人沮丧的错误。特别是,在可读的InputStream上调用close()可能会使连接池中毒。通过禁用连接池解决此问题。“
...
对于Gingerbread而言,更好的是,HttpURLConnection是最佳选择。其简单的API和小巧的尺寸使其非常适合Android。透明压缩和响应缓存可减少网络使用,提高速度并节省电池电量。新的应用程序应该使用HttpURLConnection;这是我们将继续投入精力的地方。“
我发现对于android sdk版本9-13 HttpUrlConnection在保持alives和gzip方面效果很好。然而在ICS上,来自froyo和以前版本的错误又回来了。连接池中毒并开始抛出已建立连接的异常,试图添加请求标头等。同样的代码在sdk 9-13上运行良好。
我已经确认这是在模拟器和设备上。
还有其他人遇到同样的问题吗?