RunLoop 高频面试题及详细答案(实战版).docxVIP

  • 1
  • 0
  • 约5.16千字
  • 约 7页
  • 2026-10-14 发布于河北
  • 举报

RunLoop 高频面试题及详细答案(实战版).docx

RunLoop高频面试题及详细答案(实战版)

一、基础概念类(初级面试必问)

1.什么是RunLoop?核心作用是什么?

答案:

RunLoop是iOS/macOS基于CFRunLoop封装的一套事件循环机制,本质是一个死循环。

简单来说:线程默认执行完任务就会立即销毁,而RunLoop的作用就是保活线程、让线程持续待命、等待并处理事件,不会执行完代码就退出。

核心三大作用:

1.保活线程:让线程不自动销毁,常驻内存待命

2.监听事件:实时处理触摸、滑动、定时器、网络回调、端口消息等事件

3.节省性能:无事件时线程休眠,不占用CPU资源;有事件再唤醒执行

2.RunLoop和线程的关系是什么?

答案:

1.一一对应、线程私有:每一个线程都有且仅有一个专属的RunLoop,二者绑定关系永久不变。

2.主线程RunLoop默认自动创建、自动开启,App启动后全程常驻,不会停止。

3.子线程RunLoop默认不存在,需要手动获取、手动开启,不主动调用就不会创建和运行。

4.线程销毁时,对应的RunLoop也会随之销毁,无法单独存在。

底层存储方式:通过线程的ThreadDictionary存储,保证线程私有、不共享。

3.iOS中有几种RunLoop?区别是什么?

答案:

分为两种,本质底层都是CFRunLoop,只是封

文档评论(0)

1亿VIP精品文档

相关文档