您当前的位置: 首页 >  ios

xiangzhihong8

暂无认证

  • 0浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

iOS之Runtime原理解读

xiangzhihong8 发布时间:2017-06-12 22:03:47 ,浏览量:0

Runtime简介

做过Android开发的同学都知道,早期的Android系统采用的是Dalvik机制,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,大大的降低了app的运行效率。在Android 5.0系统之后,系统采用了ART机制,应用在第一次安装的时候,字节码就会预先编译成机器码,以后每次运行速度大大的提高了。

OC是一门动态语言,所以它总是想办法把一些决定工作从编译推迟到运行时,也就是说在iOS的编译系统里,光有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的工作。

iOS系统采用的就是Runtime机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC函数来说,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。

基本结构

要谈Runtime机制,必然要先了解OC的对象以及类的结构。首先我们看一下和Runtime相关的头文件。 这里写图片描述 和运行时相关的头文件,其中主要使用的函数定义在message.h和runtime.h这两个文件中。在message.h中主要包含了一些向对象发送消息的函数,这是OC对象方法调用的底层实现。使用时只需要导入头文件即可。

关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.0485s