ASI和AFN的区别(面试题)

本文详细对比了AFN和ASI在底层实现、数据处理、请求监听、文件操作及功能扩展等方面的优缺点,帮助开发者选择合适的网络请求库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一.底层实现
1>AFN的底层基于OC NSURLConnectionNSURLSession
2.ASI的底层基于纯C语言的CFNetwork框架
3.ASI的运行性能高于AFN

二,对服务器返回数据处理
1>ASI没有直接提供对服务器数据处理的方式,直接返回 data\string
2>AFN提供了多种对服务器数据处理的方式
1.JSON
2.XIM
3.其实处理

三.监听请求的过程
1>AFN提供了success和failure两个Block监听请求过程:(只能监听和失败);
2.succeess : 请求成功后调用
3.failure  : 请求失败后调用

2>ASI提供了三套方案,每一套方案都能监听请求的完成的过程(监听请求开始,接收响应头信息,接收到具体数据,接收完毕,请求失败);
1.成为代理,蹲守协议,实现协议中的代理方法
2.成为代理,不遵守协议,自定义代理方法
4设置block

四, 在文件下载和文件上传的使用难易度
1>AFN
1.不容易监听下载进度和上传进度
2.不容易实现断点续传
3.一般只用来下载不大的文件

2>ASI
1.非常容易实现下载和上传
2.非常容易监听下载进度和上传进度
3.非常容易实现断点续传
4下载或大或小文件都行

五.ASI提供了更多的实用功能
1>控制圈圈要不要在请求过程中转
2>可以轻松地设置请求之间的依赖:每一个请求都市一个个 NSOperation对象
3>可以统一管理所有请求(还专门提供了一个叫做ASNetworkQueue来管理所有请求对象);
暂停/恢复/取消所有的请求
监听整个队列中所有请求的下载进度和上传进度




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值