美文网首页
AsyncDisplayKit之初学

AsyncDisplayKit之初学

作者: _ToBeBetterMan | 来源:发表于2018-11-22 13:42 被阅读13次

    与AsyncDisplayKit的第一面

    记得几个月前,我在上一次的公司技术分享YYKit的时候,在一篇文章中看到作者提到过AsyncDisplayKit(简写ASDK),这篇文章(iOS 保持界面流畅的技巧)主要介绍了界面滑动卡顿的原因和解决办法,文章中提到ASDK的强大,但当时主要研究在YYKit并没有把注意力放在ASDK,这次在寻找分享内容的时候我在寻找材料时又看到一篇关于ASDK的文章,当时仔细看了下,就被这个框架的强大深深吸引了。

    关于ASDK作者

    先说说他的作者,Scott Goodson(linkedin),看了他的简历苹果>facebook>Instagram>Youtube,简直是iOS开发的大神中的大神存在。他曾经在苹果工作,负责 iOS 的一些内置应用的开发,比如股票、计算器、地图、钟表、设置、Safari 等,他还参与了 UIKit framework 的开发。后来他加入 Facebook 后,创建并开源了 AsyncDisplayKit。之后他在 Pinterest 和 Instagram 负责 iOS 开发和用户体验的提升等工作。从16年起,开始在Youtube担任UI工程师。

    我现在理解的ASDK

    界面滑动为什么卡顿?我理解的是UI刷新在主线程,然而主线程还要事情又有很多,当处理器达到它处理事务的临界点的时候,也就是处理不过过来这些事情的时候就会卡顿,那为什么不把UI的创建与刷新放到子线程里面去呢?是因为子线程不安全(iOS为什么在主线程刷新UI)。但是ASDK就是做到了在子线程去创建UI控件,刷新UI界面。ASDK的作用等同于UIKit,也是基于UIKit但要强于UIKit的那么一个框架。ASDK里创建了ASDisplayNode 类。ASDK 几乎涵盖了常用的控件,下面是 ASDK 和 UIKit 的对应关系。

    | 11 | 11 | 11 |

    | --- | --- | --- |

    | 1 | 2 | 3 |

    |ASDK|UIKit|

    |--|--|

    |ASDisplayNode|UIView|

    |ASCellNode|UITableViewCell/UICollectionViewCell

    ASTextNodeUILabel

    ASImageNodeUIImageView

    ASNetworkImageNodeUIImageView

    ASVideoNodeAVPlayerLayerASControlNodeUIControl

    ASScrollNodeUIScrollView

    ASControlNodeUIControl

    ASEditableTextNodeUITextView

    ASMultiplexImageNodeUIImageView

    相关文章

      网友评论

          本文标题:AsyncDisplayKit之初学

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