美文网首页
关于使用alloc创建对象底层分析

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

作者: h_清风 | 来源:发表于2020-09-07 10:23 被阅读0次

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

底层源码需要先下载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.计算大小、开辟内存及返回

简单画了下流程图,如下

相关文章

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

    路漫漫其修远兮,吾将上下而求索! 底层源码需要先下载objc4-781 点击这里下载 Git已配置好代码 对底层源...

  • iOS 底层探索 文章汇总

    1、对象底层:结构体+alloc分析iOS-底层探索01:alloc 流程分析[https://www.jians...

  • IOS底层原理之isa

    在上一篇的文章深入底层理解alloc和init以及new中我们分析了alloc,知道了 alloc创建了对象并且分...

  • iOS底层原理 - alloc的流程图

    写在前面 ​ iOS中内存空间创建,对象的创建会使用到alloc;今天我们来探索一下alloc的底层步骤。 ​ 源...

  • iOS底层探索之对象原理(一)

    前言 对象创建alloc,alloc是iOS开发中为对象申请开辟内存的方法,那么alloc的底层到底做了哪些,以及...

  • OC创建对象alloc流程图

    开局先上alloc流程图 1.在项目Demo中:创建对象 [HSPerson alloc]将调用底层的alloc函...

  • OC底层原理系列文集

    1、对象底层之alloc&init&new源码分析+三种探索方式OC底层原理01-alloc流程探索[https:...

  • alloc的探究

    alloc 分析 对于alloc 系统会创建一个内存对象,并在栈中创建一个对象指针只想对象的地址空间。init操作...

  • 三、iOS中的isa

    一、isa 是什么? 通过iOS源码alloc init new 分析可以知道,对象通过alloc创建对象,分配内...

  • iOS开发中创建对象的两个方法对比

    1.使用new 来进行对象的创建. 2.使用alloc 和 Init 来创建对象. 使用new来创建对象,系统会直...

网友评论

      本文标题:关于使用alloc创建对象底层分析

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