iOS开发定时器注意细节

定时器经常用的有三类:NStimer、CADisplayLink和GCD定时器

NSTimer注意事项

1,在使用结束的时候一定要置空,invalidate方法进行释放;

2,手动把timer加到Runloop中的时候,一般使用NSDefaultRunLoopMode,但是当UIScrollView滑动的时候,定时器会收影响(滑动期间,不走定时器方法),可以通过修改mode改变,一般用NSRunLoopCommonModes;

CADisplayLink注意事项:

和NSTimer一样,注意使用invalidate释放,并置空否则会造成内存泄露,适合做界面渲染;

GCD注意事项:

dispatch_source_set_event_handler在子线程,需要使用dispatch_async(dispatch_get_main_queue(), ^   })回到主线程更新UI,  

你可能感兴趣的:(iOS开发定时器注意细节)