CADisplayLink iOS有什么用?

时间:2016-04-15 06:54:22

标签: ios

何时使用iOS石英核心框架的CADisplayLink。 NSTimer和CADisplayLink是一样的吗?什么是CADisplayLink的正确使用?我们想要同步uiview iOS的绘图

1 个答案:

答案 0 :(得分:4)

无耻地复制/粘贴the official documentation

  

CADisplayLink对象是一个计时器对象,允许您的应用程序将其绘图与显示的刷新率同步。

     

您的应用程序会创建一个新的显示链接,提供一个目标对象和一个在屏幕更新时调用的选择器。接下来,您的应用程序将显示链接添加到运行循环。

     

一旦显示链接与运行循环相关联,当需要更新屏幕内容时,将调用目标上的选择器。目标可以读取显示链接的timestamp属性以检索上一帧显示的时间。例如,显示电影的应用程序可能会使用时间戳来计算下一个要显示的视频帧。执行其自己的动画的应用程序可能使用时间戳来确定显示对象在即将到来的帧中的显示位置和方式。 duration属性提供帧之间的时间量。您可以在应用程序中使用此值来计算显示的帧速率,下一帧将显示的大致时间,以及调整绘图行为以便及时准备下一帧以进行显示。

     

您的应用可以通过将暂停属性设置为YES来禁用通知。此外,如果您的应用程序无法在提供的时间内提供帧,您可能需要选择较慢的帧速率。与跳过帧的应用程序相比,具有较慢但一致的帧速率的应用程序对用户来说更平滑。您可以通过更改frameInterval属性来增加帧之间的时间(并降低视在帧速率)。

     

当您的应用程序使用显示链接完成时,它应调用invalidate将其从所有运行循环中删除并将其与目标取消关联。

     

CADisplayLink不应该是子类。