2021 iOS 底层提升计划
iOS 底层提升方案
下方学习大纲大家可以参考学习《OC 底层、核心编程探索》专栏的索引。
OC 底层探索
OC 对象占用内存原理
OC 对象 最少占用 16 个字节内存.
当对象中包含属性, 会按属性占用内存开辟空间. 每一行 16 个字节中, 剩余内存如果可以放下剩余其中一个属性 (参考倒数第二张图) , 则会在行末存储 (注意: 并非一定是按照定义顺序来开辟空间, 放不下就开辟这样). 放不下时会重新开辟一行存储.
最终满足 16 字节对齐标准.
Runtime & 环境搭建
objective C 语言把能在编译期做的事情就推迟到运行期再决定。这就意味着,Objective C 不仅需要一个编译器,而且需要一个运行期环境。这个运行期环境就是 Runtime。
runtime 源码目录结构
include
文件夹是我们引入的项目需要的依赖文件Private Headers
从字面意思了解,是私有的一些方法Project Headers
runtime 项目中会用到的头文件Obsolete Headers
一些孤立
的文件,大部分可删,只有hashtable2.h
的文件会被其他文件使用到。Obsolete Source
无实质用处,可全删Source
目录,是 runtime 的实现文件集合,后面的文章主要是研究这个目录。
核心编程探索
收录地址:mp.weixin.qq.com/s/b0dBzh-Wi…
版权声明: 本文为 InfoQ 作者【祈】的原创文章。
原文链接:【http://xie.infoq.cn/article/7e6f7fce17bef972af8737b4d】。未经作者许可,禁止转载。
评论