美文网首页
Runtime/Runloop

Runtime/Runloop

作者: 自知则知 | 来源:发表于2018-12-04 14:30 被阅读0次

Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的

我们可能看不出它的价值,但是我们需要了解的是 Objective-C 是一门动态语言,它会将一些工作放在代码运行时才处理而并非编译时。也就是说,有很多类和成员变量在我们编译的时是不知道的,而在运行时,我们所编写的代码会转换成完整的确定的代码运行。

因此,编译器是不够的,我们还需要一个运行时系统(Runtime system)来处理编译后的代码。

Runtime 基本是用 C 和汇编写的,由此可见苹果为了动态系统的高效而做出的努力。苹果和 GNU 各自维护一个开源的 Runtime 版本,这两个版本之间都在努力保持一致。

RunLoop是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件处理的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。

[一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出]

相关文章

  • iOS面试点文章链接

    runtime基础方法、用法、消息转发、super: runtime 完整总结 runloop源码、runloop...

  • iOS

    Runtime & RunLoop Objective-C Runtime Objective-C Runtime...

  • 详解runTime和runLoop

    runTime 和 runLoop runTime的详解: 1.什么是runtime? runtime即运行时,它...

  • iOS Runtime 运行时机制

    runtime(「runtime&runloop 面试、工作」) runtime(简称运行时),是一套 纯C(C和...

  • Runtime和Runloop的区别

    Runtime和Runloop的区别 一.RunLoop机制: Runloop是事件接收和分发机制的一个实现。 R...

  • iOS面试中经常遇到的问题二

    1、Runtime消息转发机制? 2、Runloop 让Runloop保活的方式? 3、SDWebImage的缓存...

  • runloop 小结

    OC的两大核心runtime和runloop runloop简介 runloop本质上是一个do-while循环,...

  • iOS之runloop(1)

    runloop 这和runtime一样重要,那么我们现在探究一下runloop究竟是怎么运行的。 runloop其...

  • runloop runTime

    已有较好的整理,马克一下。runloop--Garan no Dou的博客https://blog.ibireme...

  • RunTime/RunLoop

    Runtime runtime源码地址https://opensource.apple.com/source/ob...

网友评论

      本文标题:Runtime/Runloop

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