【常用开源库】Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)

    xiaoxiao2021-03-25  124

    前言

    背景  网络请求在 Android开发项目中很常见,为了降低开发周期和难度,我们经常会选用网络请求的开源库。问题  而现在网络请求的开源库越来越多,我们应该选用哪种呢?解决方案  今天我就给大家分别介绍 & 对比现今主流的网络请求库。

    目录

    1. 为什么要用网络请求开源库?

    网络请求开源库是一个将网络请求的相关功能封装好的类库,并对外提供Api:

    没有网络请求框架之前  App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,还需要另外开一个线程进行请求,然后又要考虑到线程池,缓存等一堆问题。

    使用网络请求库后(前人的轮子)  实现网络请求的需求同时不需要考虑:

    异步请求线程池缓存blabla

    同时还:

    降低开发难度缩短开发周期使用方便

    2. 使用前知识了解

    2.1 Android实现网络请求的主流方法(SDK自带)

    HttpClientHttpURLConnection
    2.1.1 二者介绍&对比

    HttpURLConnection  在Android2.2之前:HttpURLConnection 有个重大 Bug:调用 close() 函数会影响连接池,导致连接复用失效;

    所以Android2.2之前不建议使用HttpURLConnection

    在Android2.2之后:HttpURLConnection默认开启了 gzip 压缩&提高了HTTPS 的性能

    HttpClient  优点:相比于HttpURLConnection,更加高效简洁  缺点:结构过于复杂;维护成本高

    在5.0版本后被Android官方弃用

    2.2 网络请求库和Android网络请求实现方法的关系

    网络请求框架本质上是一个将网络请求的相关方法( HttpClient或HttpURLConnection)封装好的类库,并实现另开线程进行请求和处理数据,从而实现整个网络请求模块的功能。具体的关系可看下图: 

    3. 主流的网络请求库-介绍

    如今Android中主流的网络请求框架有:

    Android-Async-HttpVolleyOkHttpRetrofit

    下面是简单介绍: 

    4. 网络请求库- 对比

    一图让你了解全部的网络请求库和他们之间的区别!

    5. 各个主流网络请求库的Github地址

    Android-Async-HttpVolleyOkHttpRetrofit
    转载请注明原文地址: https://ju.6miu.com/read-9013.html

    最新回复(0)