IOS面试题(RunLoop) --- RunLoop基础

OC面试题目合集地址

问题1: 什么是RunLoop?

RunLoop是通过内部维护的事件循环来对事件/消息进行管理的一个对象

  • 没有消息需要处理时, 休眠以避免资源占用
  • 有消息需要处理时, 立刻被唤醒


问题2: RunLoop状态切换

runloop状态切换
  • 没有消息处理时候, 用户态 切换到内核态, 休眠以避免资源占用

  • 有消息处理时候, 内核态 切换到用户态, 立刻被唤醒



问题3: main函数为什么会常驻不会退出

main中会调用UIApplicationMain, 函数内部会启动主线程的运行循环RunLoop, 可以不断接受消息, 对事件处理等待, 其中这个循环不是简单for循环或者while循环, 其实内部是用户态内核态, 内核态用户态切换

你可能感兴趣的:(IOS面试题(RunLoop) --- RunLoop基础)