iOS之深入解析malloc的底层原理

一、前言

  • iOS 在创建对象的时候,alloc 方法有三个核心部分:cls->instanceSize(计算需要开辟内存的大小),calloc(开辟内存空间),obj->initlnstanceIsa(将 cls 类和 obj 指针关联)。
  • 然而 obj = (id)calloc(1, size) 这一段代码所在位置不再是 libObjc4,它定位到了 libmalloc。
  • malloc 的流程实质上是 iOS 对象申请内存空间实际的对齐方式是 8 字节对齐。

二、malloc_zone_t 分析

  • malloc_zone_t 的结构如下:
	typedef struct _malloc_zone_t {
   
	void    *reserved1;    /* RESERVED FOR CFAllocator DO NOT USE */
	    void    *

你可能感兴趣的:(Objective-C底层原理,开辟内存空间,内存对齐,magazines,zone的calloc内存分配,libmalloc)