美文网首页
第三方框架

第三方框架

作者: 叔简 | 来源:发表于2021-06-20 14:04 被阅读0次

AFNetWorking

组成

  • 底部:会话模块(NSURLSession)、网络监听模块(AFSecurityPolicy)、网络安全模块(AFSecurityPolicy)
  • 中间层: 请求序列化、响应序列化
  • 上层:UIKit集成模块

类的关系图

  • 主要类AFURLSessionManager
  • 继承自AFHTTPSessionManager(我们平时常用的类):包含两个模块,AFURLRequestSerialzation、AFURLResponseSerialzation
  • 组成部分:NSURLSession(网络会话部分)、AFSecurityPolicy(网络安全证书验证、公钥验证)、AFSecurityPolicy(网络环境验证)

主要功能

  • 创建和管理NSURLSession、NSURLSessionTask,创建网络请求
  • 实现NSURLSessionDelegate等协议的代理方法,处理网络请求过程中的问题,重定向,验证挑战等网络部分
  • 引入AFSecurityPolicy保证请求安全, 证书的校验,公钥的验证
  • 引入AFNetworkReachabilityManager监控网络状态

SDWebImageView

异步下载并支持缓存的框架

框架组成

  • UIImageView + WebCache
  • SDWebImageManager:核心类
  • SDImageCache:内存缓存、磁盘缓存
  • SDWebImageDownLoader:网络图片下载器

加载图片流程

  • 根据图片key值,在内存中查找
  • 内存中未找到,进行磁盘查找
  • 磁盘未找到,进行网络下载

Reactive Cocoa

函数响应式编程

信号和订阅

  • 信号:信号代表一连串的状态
  • 订阅:订阅信号,通过RACSubscriber来实现的,实际上就是作为一个成员变量对其block进行持有,调用subscribe时,来通过sendnext来执行这个方法

调用流程

RACSignal -> subscribeNext -> RACSubscriber -> sendNext -> sendCompleted -> end

底层原理

initialize-RACSubscriber,此时我们持有了一个成员变量,这个成员变量实际上时didSubscribe的一个block,调用RACSubscriber方法时,就是调用这个block

AsyncDisplayKit

提升iOS界面渲染性能

主要处理的问题

  • Layout:文本宽高计算、视图布局计算
  • Rendering:文本渲染、图形解码、图形绘制
  • UIKit Objects:对象创建、对象调整、对象销毁

ASDK的实现原理

封装一个NSNode节点,我们对于视图的一些属性设置和处理在nsnode中执行,这部分可以放到后台中去执行,在RunLoop将要结束时,通过beforeWaiting通知,ASDK执行该loop内提交的所有任务,来从全局容器中提取,一次性设置给UIView

相关文章

网友评论

      本文标题:第三方框架

      本文链接:https://www.haomeiwen.com/subject/zlfsyltx.html