美文网首页
苹果是如何实现autoreleasepool的

苹果是如何实现autoreleasepool的

作者: 飘金 | 来源:发表于2017-06-19 22:01 被阅读0次

autoreleasepool 以一个栈的形式实现,主要通过下列三个函数完成.

objc_autoreleasepoolPush
objc_autoreleasepoolPop
objc_autorelease

看函数名就可以知道,对 autorelease 分别执行 push,和 pop 操作。销毁对象时执行release操作。

举例说明:我们都知道用类方法创建的对象都是 Autorelease 的,那么一旦 Person 出了作用域,当在 Person 的 dealloc 方法中打上断点,我们就可以看到这样的调用堆栈信息:

相关文章

网友评论

      本文标题:苹果是如何实现autoreleasepool的

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