CADisplayLink 是一个能让我们以和屏幕刷新频率相同的频率将内容刻画到屏幕上的定时器,在应用中创建一个新的CADisplayLink对象,把他添加到一个runloop中,并且给他提供一个target和selector在屏幕刷新时调用
一旦displayLink以特定的模式注册到runloop中之后,每当屏幕需要刷新的时候,runloop就会调用CADisplayLink绑定的target上的selector,这是target可以读到CADisplayLink每次调用的时间戳,用来准备下一帧显示所需要的数据(在UI做动画的过程中,需要通过时间戳来计算UI对象在动画的下一帧需要更新的大小等)
在添加到runloop中时,我们应该选用高一些的优先级来保证动画的平滑效果