AsyncDisplayKit 是一个 源自 Facebook 的 Paper 项目的UI 框架。它完美解决了 Paper 项目团队面临的众多核心问题之一:如何使主线程尽量清晰明了。
现在,许多 App的用户体验都严重依赖于连续的手势和物理动画。至少,你的 UI 界面可能依赖于一些滑动视图。
这种类型的用户接口大多完全取决于主线程并且对主线程阻塞异常敏感。一旦主线程阻塞就意味着动画掉帧并产生一个极差的用户体验。
主线程中要做的主要工作如下:<br>
- 尺寸和布局:一些像
-heightForRowAtIndexPath:
或者调用 UILabel 的-sizeThatFits
方法,也包括AutoLayout
的约束求解器的指数级开销。<br>
- 图像解码: 在一个图像框中使用
UIImage
就意味着要先将图像数据解码。<br>
- 绘图:复杂的文本也需要手动完成绘图渐变和阴影。
<br>
- 对象生存期:创建、使用、销毁系统对象(例如创建一个
UIView
)。<br>
在正确使用时,AsyncDisplayKit就可以默认异步执行所有尺寸,布局和渲染操作。并且无需额外优化,App 主线程需要完成的工作量也会显著减少。
除了性能上的出色表现,新版的 AsyncDisplayKit 还提供了仅仅使用几行简单的代码就可以完成复杂功能并且方便调用的编程接口。
这篇 AsyncDisplayKit 2.0教程由两部分组成,你可以从中学到使用 ASDK完成一个易用动态应用程序的全部技能。在第一部分,你会学到构建一个 App的想法构思。在第二部分,你会学到如何创建自己的 node
子类和如何使用ASDK 的强有力布局引擎。完成这段教程需要 Xcode7.3 并且需要熟悉 Objective-C。
1 | 免责声明: ASDK 和自动视图布局是不兼容的,所以在教程中将不会使用。 |