GitHub地址:https://github.com/facebookarchive/AsyncDisplayKit
AsyncDisplayKit是最初由Facebook的Paper应用程序开发的UI框架。
AsyncDisplayKit的基本单位是node
。ASDisplayNode是一种抽象UIView
,它反过来是一种抽象CALayer
。与只能在主线程上使用的视图不同,节点是线程安全的:您可以在后台线程上并行实例化和配置它们的整个层次结构。
为了保持用户界面流畅和响应,您的应用程序应以每秒60帧的速度呈现 - 这是iOS上的黄金标准。这意味着主线程有六十分之一秒推动每一帧。这是执行所有布局和绘图代码的16毫秒!并且由于系统开销,您的代码通常在导致帧丢失之前运行不到10毫秒。
AsyncDisplayKit允许您从主线程移动图像解码,文本大小调整和渲染,布局以及其他昂贵的UI操作,以保持主线程可用于响应用户交互。
高级开发者功能
随着框架的发展,已经添加了许多功能,通过消除现代iOS应用程序中常见的常见样板样式结构,可以为开发人员节省大量时间。如果您曾经处理过单元重用错误,尝试按性能预加载页面或滚动样式界面的数据,或者甚至只是试图阻止您的应用程序丢弃太多帧,您可以从集成ASDK中受益。