iOS 对象的alloc流程
2019-12-31 09:47:27 0 举报
iOS中对象的alloc流程
作者其他创作
大纲/内容
calloc创建内存区域
class_createInstanceFromZone
class_createInstance常规分配内存途径
no
alloc
malloc_zone_calloc
alignedInstanceSize做了8位的字节对齐(x+7)>>3<<3加上读取类信息中取到的大小返回需要的尺寸
yes
obj
判断是否实现allocWithZone
callAlloc
zong
!zone && fast
fastpath(!cls->ISA()->hasCustomAWZ()
判断非元类对象
objc_rootAlloc
bool hasCxxCtor = cls->hasCxxCtor(); bool hasCxxDtor = cls->hasCxxDtor(); bool fast = cls->canAllocNonpointer();读取类信息
快速分配内存
Persion
instanceSize计算分配内存的大小
NO
return
收藏
0 条评论
下一页