AIS和AFN的区别
来源:互联网 发布:如何代理淘宝网店 编辑:程序博客网 时间:2024/06/06 19:03
一、底层实现
1> AFN的底层基于OC的NSURLConnection和NSURLSession(AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。)
2> ASI的底层基于纯C语言的CFNetwork框架
3> ASI的运行性能高于AFN
二、对服务器返回的数据处理
1> ASI没有直接提供对服务器数据处理的方式,直接返回data\string
2> AFN提供了多种对服务器数据处理的方式
* JSON处理
* XML处理
*其他处理
2> ASI的底层基于纯C语言的CFNetwork框架
3> ASI的运行性能高于AFN
二、对服务器返回的数据处理
1> ASI没有直接提供对服务器数据处理的方式,直接返回data\string
2> AFN提供了多种对服务器数据处理的方式
* JSON处理
* XML处理
*其他处理
1> AFN提供了success和failure两个block来监听请求的过程(只能监听成功和失败)
* success : 请求成功后调用
* failure : 请求失败后调用
2> ASI提供了3套方案,每一套方案都能监听请求的完整过程
(监听请求开始、接收到响应头信息、接受到具体数据、接受完毕、请求失败)
* 成为代理,遵守协议,实现协议中的代理方法
* 成为代理,不遵守协议,自定义代理方法
* 设置block
四、在文件下载和文件上传的使用难易度
1> AFN
* 不容易监听下载进度和上传进度
* 不容易实现断点续传
* 一般只用来下载不大的文件
2> ASI
* 非常容易实现下载和上传
* 非常容易监听下载进度和上传进度
* 非常容易实现断点续传
* 下载或大或小的文件都行
五、ASI提供了更多的实用功能
1> 控制圈圈要不要在请求过程中转
2> 可以轻松地设置请求之间的依赖:每一个请求都是一个NSOperation对象
3> 可以统一管理所有请求(还专门提供了一个叫做ASINetworkQueue来管理所有的请求对象)
* 暂停\恢复\取消所有的请求
* success : 请求成功后调用
* failure : 请求失败后调用
2> ASI提供了3套方案,每一套方案都能监听请求的完整过程
(监听请求开始、接收到响应头信息、接受到具体数据、接受完毕、请求失败)
* 成为代理,遵守协议,实现协议中的代理方法
* 成为代理,不遵守协议,自定义代理方法
* 设置block
四、在文件下载和文件上传的使用难易度
1> AFN
* 不容易监听下载进度和上传进度
* 不容易实现断点续传
* 一般只用来下载不大的文件
2> ASI
* 非常容易实现下载和上传
* 非常容易监听下载进度和上传进度
* 非常容易实现断点续传
* 下载或大或小的文件都行
五、ASI提供了更多的实用功能
1> 控制圈圈要不要在请求过程中转
2> 可以轻松地设置请求之间的依赖:每一个请求都是一个NSOperation对象
3> 可以统一管理所有请求(还专门提供了一个叫做ASINetworkQueue来管理所有的请求对象)
* 暂停\恢复\取消所有的请求
*监听整个队列中所有请求的下载进度和上传进度
1 0
- AIS和AFN的区别
- ASI和AFN的区别
- AFN和ASI的区别
- ASI和AFN的区别
- AFN和ASI的区别
- 26>AFN和ASI的区别
- ASI和AFN的区别(面试题)
- ASI、AFN的区别
- AFN和ASI的底层实现和区别
- AFN和ASI各自使用方法及区别的总结
- 对AFN和ASI各自使用方法及区别的总结
- iOS面试题 AFN和ASI框架的区别
- iOS面试题 AFN和ASI框架的区别
- ASI与AFN的区别
- ASI与AFN的区别
- ASI与AFN的区别
- AFN与ASI的区别
- ASI与AFN的区别
- Java 进程通信
- 计算机操作系统学习笔记2
- Android应用打破65K方法数限制
- C# AttributeUsage的使用浅析
- 解压版tomcat安装配置
- AIS和AFN的区别
- 美国某知名大学计算机博士家庭作业。。。
- 自定义EditText获取焦点时hint隐藏,失去焦点时hint值显示
- Activity管理类,用于Activity管理和应用程序退出
- iOS学习笔记——数据库操作(使用FMDB)
- Elasticsearch权威指南(中文版)
- USB 驱动和配件
- Linux下send错误代码32
- Vue.js 父子组件通讯