美文网首页
底层15:RunLoop面试题

底层15:RunLoop面试题

作者: 张无奈 | 来源:发表于2020-09-07 01:00 被阅读0次

面试题:讲讲RunLoop,项目中有用到吗?

保持程序的持续运行;

处理App中的各种事件(eg:触摸事件,定时器事件);

节省CPU资源,提高程序性能(该做事的时候做事,该休息的时候休息)。

应用范畴:定时器(Timer)、PerformSelector、GCD Async Main Queue、事件响应、手势识别、界面刷新、网络请求、AutoreleasePool。

面试题:runloop内部实现逻辑?

面试题:runloop和线程的关系?

一对一的关系。

面试题:timer与runloop的关系?

timer运行在runloop里面。

面试题:程序中添加每3秒响应一次的NSTimer,当拖动tableView时timer可能无法响应要怎么解决?

将mode改成kCFRunLoopCommonModes, 它默认包括kCFRunLoopDefaultMode和UITrackingRunLoopMode.

面试题:runloop是怎么响应用户操作的,具体流程是什么样的?

先由Source1捕捉触摸事件,再有Source0去处理事件。

通知Observers,进入Loop、即将Timers、Sources、blocks;

处理Source0;

如果存在Source1,通知观察者,结束休眠去处理source1,处理blocks;

根据前面处理的结果,决定如何操作。

面试题:说说runloop的几种状态?

kCFRunLoopEntry: 即将进入Loop

kCFRunLoopBeforeTimer: 即将处理Timer

kCFRunLoopBeforeSources: 即将处理Source

kCFRunLoopBeforeWaiting:即将进入休眠

kCFRunLoopAfterWaiting:刚从休眠中唤醒

kCFRunLoopExit:即将推出Loop

kCFRunLoopAllActivities: 

RunLoop在实际开发中的应用:

控制线程生命周期(线程保活)、

解决NSTimer在滑动时停止工作的问题

监控应用卡顿

性能优化

相关文章

  • iOS底层面试题--RunLoop

    什么是RunLoop? iOS底层面试题--RunLoop RunLoop面试题分析

  • 探寻RunLoop的本质

    iOS底层原理总结 - RunLoop 面试题 讲讲 RunLoop,项目中有用到吗? RunLoop内部实现逻辑...

  • 底层15:RunLoop面试题

    面试题:讲讲RunLoop,项目中有用到吗? 保持程序的持续运行; 处理App中的各种事件(eg:触摸事件,定时器...

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • runloop 介绍

    iOS面试题之runloop 阅读目录 1.runloop是什么/runloop的概念? 2.NSRunLoop ...

  • runloop 面试题

    runloop 面试题 基于最近的几次面试,整理了runloop 的相关知识 1、Runloop 是什么?Run ...

  • NSRunLoop

    RunLoop运行逻辑 RunLoop面试题: 1、什么是RunLoop? 答:从字面意思上:运行循环、跑圈。 其...

  • RunLoop数据结构、RunLoop的实现机制、RunLoop

    推荐阅读:备战2020——iOS全新面试题总结 RunLoop概念 RunLoop的数据结构 RunLoop的Mo...

  • RunLoop简介

    RunLoop简介 RunLoop底层实现原理 RunLoop接收输入事件的2种来源 RunLoop对象 开源的C...

  • iOS底层原理总结 - RunLoop

    面试题 讲讲 RunLoop,项目中有用到吗? RunLoop内部实现逻辑? Runloop和线程的关系? tim...

网友评论

      本文标题:底层15:RunLoop面试题

      本文链接:https://www.haomeiwen.com/subject/wrousktx.html