iOS开发 alloc底层原理

1.alloc 流程分析图

流程图.png

2.总结

①我们在创建对象的时候,init没有对地址空间做任何处理,alloc的作用就是开辟内存空间
②栈内存是连续的(栈内存比较小),一个指针是8字节
③我们在探索源码的时候,一般有三种方法:
a.下符号断点的形式直接跟流程
b.按住control+step into
c.汇编查看跟流程
④align(16)是16字节对齐算法,开辟的内存字节大小是16的倍数,目的是让访问更加安全,避免出现错误访问的情况
⑤我们在开发时经常用【LGPerson new】代替【【LGPerson alloc】init】,一般情况下是没有问题的,但是最好别这样写,因为如果init方法重写了,【LGPerson new】创建的对象将无法获取重写的东西。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。