第三方库解析
2019-06-26 本文已影响0人
Jimmy_L_Wang
AFNetworking
AF框架.png主要类关系
类关系图.png各个类的功能
AFURLSessionManager主要负责哪些工作?
- 创建和管理NSURLSession,NSURLSessionTask。
- 实现NSURLSessionDelegate等协议的代理方法
- 引入AFSecurityPolicy保证请求安全
- 引入AFNetworkReachabilityManager监控网络状态。
SDWebImage
架构简图:
sd架构图.png加载流程
加载流程.pngReactiveCocoa
RAC是否了解?
RAC是一个函数响应式编程的库,可以订阅一个信号
RACSignal
Signal.png怎样理解信号?
RACSignal继承自RACStream
stream.png信号代表一连串的状态
signal02.png在状态改变时,对应的订阅者RACSubscriber就会收到通知执行响应的指令。
订阅
RACSubscriber
订阅过程.png 订阅原理.pngAsyncDisplayKit
提升iOS界面渲染性能的一个框架
主要处理哪些问题
- Layout-解决布局的耗时运算(从主线程迁移到子线程,来减少主线程的时间)
- 文本宽高计算
- 视图布局计算
- Rendering
- 文本渲染
- 图片解码
- 图形绘制
- UIKit对象的处理
- 对象创建
- 对象调整
- 对象销毁
主要通过减轻主线程的压力,来把更多的事情挪到子线程去做,就挪到子线程去处理。
基本原理
asdk原理.png针对ASNode的修改和提交,会对其进行封装并提交到一个全局容器当中;
ASDK也在RunLoop中注册一个Observer
当RunLoop进入休眠前,ASDK执行该Loop内提交的所有任务。
总结
AFNetworking的整体结构是怎样的?
SDWebimage框架是怎样加载图片的?
RAC的信号订阅是什么意思?