关于使用alloc创建对象底层分析

2020-09-07  本文已影响0人  h_清风

路漫漫其修远兮,吾将上下而求索!

底层源码需要先下载objc4-781

点击这里下载

Git已配置好代码

对底层源码探索有三种形式

1.下符号断点的形式(Symbolic Breakpoint 符号断点)直接跟流程走;

2.打全局断点通过摁住control - step into一步步执行;

3.通过汇编形式查看(Debug -> Debug Workflow -> Always show Disassembly )

下面是通过断点形式走的alloc底层流程

1.当使用alloc创建对象之后,第一步底层先执行_objc_rootAlloc方法;

2.执行完_objc_rootAlloc会走callAlloc方法

3.接下来会执行_objc_rootAllocWithZone方法

4.执行_class_createInstanceFromZone方法

5.计算大小、开辟内存及返回

简单画了下流程图,如下

上一篇 下一篇

猜你喜欢

热点阅读