You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS系统中RunLoop每秒循环多少次?是否与60次/秒的屏幕刷新率一致?

iOS RunLoop 循环频率问题解答
  • RunLoop本身没有固定的每秒循环次数
    它是事件驱动的休眠/唤醒机制:没有待处理事件时会立刻进入休眠,不会做无意义的空循环;只有当触摸事件、定时器回调、网络回调、系统通知等事件触发时,才会被唤醒处理事件,处理完成后再次回到休眠状态。所以空闲状态下RunLoop可能每秒循环0次,事件密集时每秒循环次数可以远高于60次。
  • RunLoop的循环频率和屏幕刷新率没有绑定关系
    大家常碰到的和屏幕刷新率对齐的是CADisplayLink的回调,这只是RunLoop需要处理的众多事件中的一种。常规iOS设备屏幕刷新率为60Hz,支持ProMotion的机型最高可达120Hz,CADisplayLink的回调会和屏幕刷新信号同步触发,但这并不代表RunLoop本身的循环次数和刷新率一致。

实际开发中很容易验证这个结论:你可以给主线程RunLoop添加一个观察者监听循环完成事件,在快速滑动列表时统计每秒的触发次数,会得到远高于当前屏幕刷新率的数值,因为滑动过程中除了每帧渲染的回调外,还有大量触摸事件、UI布局计算等逻辑会触发RunLoop循环。

内容的提问来源于stack exchange,提问作者emmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:02