| | 10 | |
| | 11 | volley 问题:[[BR]] |
| | 12 | |
| | 13 | {{{ |
| | 14 | 廖教和 17:49 |
| | 15 | 哦,我记错了 |
| | 16 | IF Build.VERSION.SDK_INT >= 9 |
| | 17 | HurlStack=>HttpURLConnection |
| | 18 | ELSE |
| | 19 | HttpClientStack=>HttpClient |
| | 20 | 王健强 17:50 |
| | 21 | 是啊,Google是建议用HUC |
| | 22 | 廖教和 17:50 |
| | 23 | HttpURLConnection 的bug在哪看 |
| | 24 | 王健强 17:50 |
| | 25 | 1. HttpClient由于API繁多,所以很难在不破坏兼容性的情况下对它进行优化,所以Android团队对它的优化与改进不是很积极。 |
| | 26 | |
| | 27 | 2. HttpURLConnection因为API简单,所以对它进行升级优化比较容易。 |
| | 28 | |
| | 29 | 3. 在Froyo之前,HttpURLConnection有一些bug,尤其是对一个可读的InputStream调用close会污染整个连接池,使得只能通过禁用连接池来解决它。 |
| | 30 | |
| | 31 | 4. 在Gingerbread中,HttpURLConnection会自动地将这个header Accept-Encoding: gzip 加入请求并处理相应的经过压缩的响应。在Https连接方面也做了一些改进,HttpURLConnection会尝试通过SNI来进行连接, SNI可以使多个Https主机共享一个IP地址。如果连接失败,也能自动重试。 |
| | 32 | |
| | 33 | 5. 在Ice Cream Sandwich中,增加了响应缓存。 |
| | 34 | |
| | 35 | 6. 在Froyo或之前的版本中,最好使用HttpClient,因为它bug很少,而HttpURLConnection却有如3中的bug,Gingerbread或以上的版本,则应该使用HttpURLConnection,HttpURLConnection也是Android团队愿意花精力去优化与改进的。 |
| | 36 | }}} |