首页 > 装修问题 > 装饰材料 > 其他 > 谁能说说IOS中有几种小定时器?

谁能说说IOS中有几种小定时器?

浏览次数:2423|时间:2024-05-14

最新回答

2024-05-14jarvinia奈奈
iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。

192

2024-05-14情流感920
你好,IOS定时器常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService。当连接USB线进行调试时,会发现一切工作正常,每5秒更新一次界面,即使是按下电源键,仍然会5秒触发一次。当拔掉USB线,按下电源键关闭屏幕后,过一段时间再打开,发现定时器明显没有继续计数,停留在了关闭电源键时的数字。

203

2024-05-14扛枪小萝莉
你好,很高兴为你解答。ios中有三种定时器,NSTimer、CADisplayLink、GCD。    iOS设备的屏幕刷新频率是固定的,CADisplayLink在正常情况下会在每次刷新结束都被调用,精确度相当高。
NSTimer的精确度就显得低了点,比如NSTimer的触发时间到的时候,runloop如果在阻塞状态,触发时间就会推迟到下一个runloop周期。并且  NSTimer新增了tolerance属性,让用户可以设置可以容忍的触发的时间的延迟范围。
     CADisplayLink使用场合相对专一,适合做UI的不停重绘,比如自定义动画引擎或者视频播放的渲染。NSTimer的使用范围要广泛的多,各种需要单次或者循环定时处理的任务都可以使用。在UI相关的动画或者显示内容使用  CADisplayLink比起用NSTimer的好处就是我们不需要在格外关心屏幕的刷新频率了,因为它本身就是跟屏幕刷新同步的。
希望我的回答能帮到您哦!

52