zoukankan      html  css  js  c++  java
  • iOS之ASI和AFN有什么区别(2)

    ASI和AFN有什么区别

    1.性能(重点)

    * ASI基于底层的CFNetwork框架

    * AFN基于NSURLConnection

    * 运行性能: ASI > ASN

    2.处理服务器数据

    1> AFN : 根据服务器返回数据的数据, 进行自动解析

    * 服务器返回的是JSON数据, 自动转换为NSDictionary或者NSArray

    * 服务器返回的是XML数据, 自动转换为NSXMLParser

    2> ASI : 并没有对服务器的数据进行解析, 直接返回NSData二进制数据

    3.处理请求的过程

    1> AFN : success和failure两个block

    2> ASI : 有3种方式处理请求过程(代理方法SELlock)

    3.ASI的特色(重点)

    1> 缓存

    2> 下载和上传

    * 轻松监听请求进度

    * 轻松实现断点下载(ASI没有断点上传功能, 断点上传得使用socket技术)

    3> 提供了很多扩展接口(比如做数据压缩)

    * ASIDataCompressor.h

    * ASIDataDecompressor.h

    4> ASIHttpRequest继承自NSOperation

    * 能用队列统一管理所有请求

    * 请求之间能依赖

    5> ASINetworkQueue

    * 统一管理所有请求

    * 5个下载上传请求 --> ASINetworkQueue : 监听5个请求的总进度

    * 监听所有请求的开始失败完毕

    * shouldCancelAllRequestsOnFailure

    YES : 队列中某个请求失败了, 其他所有请求都取消

    NO : 队列中的某个请求失败了, 其他请求不受影响, 继续请求

    4.AFN的特色

    1> 使用简单

    2> 自带了网络监控功能

  • 相关阅读:
    Ubuntu更新Hostname和hosts
    Github 的其他用法
    Git与Github使用
    【实习】实习期间一些工具的使用
    【实习】实习第一周周报
    QT_string转char*
    QT_获取正在运行程序的进程id(判断程序是否正在运行)
    QT_获取运行进程所在目录路径_2
    QT_获取运行进程所在目录路径_1
    QT_强杀进程
  • 原文地址:https://www.cnblogs.com/changxs/p/4048465.html
Copyright © 2011-2022 走看看