AFN和ASI的区别

一、底层实现

1> AFN的底层基于OC的NSURLConnection和NSURLSession

2> ASI的底层基于纯C语言的CFNetwork框架

3> ASI的运行性能 高于 AFN

二、对服务器返回的数据处理

1> ASI没有直接提供对服务器数据处理的方式,直接返回data\string

2> AFN提供了多种对服务器数据处理的方式

* JSON处理

* XML处理

* 其他处理

三、监听请求的过程

1> AFN提供了success和failure两个block来监听请求的过程(只能监听成功和失败)(3.0以后添加了进度)

* success : 请求成功后调用

* failure : 请求失败后调用

2> ASI提供了3套方案,每一套方案都能监听请求的完整过程

(监听请求开始、接收到响应头信息、接受到具体数据、接受完毕、请求失败)

* 成为代理,遵守协议,实现协议中的代理方法

* 成为代理,不遵守协议,自定义代理方法

* 设置block

四、在文件下载和文件上传的使用难易度

1> AFN

* 不容易监听下载进度和上传进度

* 不容易实现断点续传

* 一般只用来下载不大的文件

2> ASI

* 非常容易实现下载和上传

* 非常容易监听下载进度和上传进度

* 非常容易实现断点续传

* 下载或大或小的文件都行

五、ASI提供了更多的实用功能

1> 控制圈圈要不要在请求过程中转

2> 可以轻松地设置请求之间的依赖:每一个请求都是一个NSOperation对象

3> 可以统一管理所有请求(还专门提供了一个叫做ASINetworkQueue来管理所有的请求对象)

* 暂停\恢复\取消所有的请求

* 监听整个队列中所有请求的下载进度和上传进度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、2大管理对象 1.AFHTTPRequestOperationManager * 对NSURLConnecti...
    蓝心儿的蓝色之旅阅读 1,935评论 1 2
  • //联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄 ASI和AFN有什么区别 1.性能(重点) * A...
    石虎132阅读 989评论 3 15
  • 一、底层实现 1、AFN的底层实现基于OC的NSURLConnection和NSURLSession2、ASI的底...
    JaXz阅读 865评论 1 3
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,305评论 4 61
  • 一、什么是 AFN AFN 全称为 AFNetworking,是一个构建与在 NSURLConnection、NS...
    keelZJP阅读 2,950评论 0 2