美文网首页
问题:苹果是如何实现autoreleasepool的?

问题:苹果是如何实现autoreleasepool的?

作者: 姜小舟 | 来源:发表于2020-05-13 18:52 被阅读0次

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

objc_autoreleasepoolPush
objc_autoreleasepoolPop
objc_autorelease

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

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

相关文章

网友评论

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

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