定時器經(jīng)常用的有三類:NStimer愉老、CADisplayLink和GCD定時器
NSTimer注意事項:
1场绿,在使用結束的時候一定要置空,invalidate方法進行釋放嫉入;
2焰盗,手動把timer加到Runloop中的時候,一般使用NSDefaultRunLoopMode咒林,但是當UIScrollView滑動的時候熬拒,定時器會收影響(滑動期間,不走定時器方法)垫竞,可以通過修改mode改變澎粟,一般用NSRunLoopCommonModes;
CADisplayLink注意事項:
和NSTimer一樣欢瞪,注意使用invalidate釋放活烙,并置空否則會造成內(nèi)存泄露,適合做界面渲染遣鼓;
GCD注意事項:
dispatch_source_set_event_handler在子線程啸盏,需要使用dispatch_async(dispatch_get_main_queue(), ^? ?})回到主線程更新UI, ?