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…