2024年3月13日发(作者:)

Android

如何正确选择网络请求框架

思维导图

HttpCI ie nt

Anda汨常生网络请求

为叶幺•要使用网络开源框架

HttpConnection

存在的问题

网络货源框架解决了邨些问息?

目前流行拘网络唯架有网些

And nokj-AsynoHttp

网络请求框架 __ )

目前流行的网绪框架

目前流行的网络框架

_

ngtroflt

一、为什么要使用网络开源框架

Android

系统自带网络请求

系统自带的网络请求模块有两个,一个是

HttpClient

,另

Android

一个是

HttpUrlConnection

HttpUrlConnection

HttpURLConnection

是一种多用途、轻量极的

HTTP

客户端,使用

它来进行

HTTP

操作可以适用于大多数的应用程序。虽然

HttpURLConnection

API

提供的比较简单,但是同时这也使得我们可

以更加容易地去使用和扩展它。

不过在

Android2.2

版本之前,

HttpURLConnection

一直存在着一 些令人

厌烦的

bug

。比如说对一个可读的

Inputstream

调用

close()

方 法时,就有

可能会导致连接池失效了。那么我们通常的解决办法就是 直接禁用掉

连接池的功能,所以

Android2.2

以前是推荐用

HttpClient

的。

而在

Android2.3

版本及以后,

HttpURLConnection

则是最佳的选择。 它的

API

简单,体积较小,因而非常适用于

Android

项目。压缩和缓 存机制可以

有效地减少网络访问的流量,在提升速度和省电方面也起 到了较大的

作用。对于新的应用程序应该更加偏向于使用

HttpURLConnection

,因为

在以后的工作当中我们也会将更多的时间放 在优化

HttpURLConnection

上面。

HttpClient

DefaultHttpClient

和它的兄弟

AndroidHttpClient

者^是

HttpClient

具 体的

实现类,它们都拥有众多的人「

1

,而且实现比较稳定,

bug

数量 也很

少。

但同时也由于

HttpClient

API

数量过多,使得我们很难在不破 坏

兼容性的情况下对它进行升级和扩展,所以目前

Android

团队在提 升和

优化

HttpClient

方面的工作态度并不积极。

存在问题

①上述两个框架并没有针对异步调用的一个封装,使用时必须自己去

new

一个线程;

②没有线程池,没有网络缓存,不能重复利用请求,性能不佳; ③返