定義
CADisplayLink:一個(gè)能讓我們以和屏幕刷新率相同的頻率將內(nèi)容畫到屏幕上的定時(shí)器。
NSTimer:自己設(shè)置的定時(shí)器。
區(qū)別
- 兩者都是添加到某個(gè)線程的runloop下的,所以如果線程繁忙,都會(huì)造成不準(zhǔn)時(shí)觸發(fā)。如果需要準(zhǔn)時(shí),可以單獨(dú)為了它創(chuàng)建一個(gè)線程,或者直接使用gcd的定時(shí)器,因?yàn)間cd的定時(shí)器和runloop無關(guān)。
- 由于CADisplayLink是每次屏幕刷新的時(shí)候調(diào)用的,所以很適合做動(dòng)畫,視頻,屏幕刷新時(shí)才需要變化的內(nèi)容,不用人工計(jì)算間隔時(shí)間調(diào)用NSTimer,如果計(jì)算的不合理,會(huì)造成浪費(fèi)。