美文网首页
一张图看懂autoreleasepool

一张图看懂autoreleasepool

作者: 搬砖人666 | 来源:发表于2019-12-03 17:13 被阅读0次

autoreleasepool
每次 Push 后,都会先添加一个 POOL_BOUNDARY 来占位,是为了对应一次 Pop 的释放,图中表示了两层autoreleasepool的嵌套,需要两次pop完全释放。
autoreleasepool使用双链表来实现,只有在当前 page 空间使用完后,才会创建新的 page,并不是每个 @autoreleasepool 对应一个 AutoreleasePoolPage 对象。
没有POOL_BOUNDARY的AutoreleasePoolPage对象一次pop会释放当前结点中的autorelease对象,下一次pop从父节点开始

参数资料:
[iOS -- Autorelease & AutoreleasePool]:https://juejin.im/post/5d807672f265da03c721d541
[iOS 深入探究 AutoreleasePool]:https://juejin.im/post/5bee7611e51d451fa23898ad
[自动释放池的前世今生 ---- 深入解析 autoreleasepool]:https://draveness.me/autoreleasepool

相关文章

网友评论

      本文标题:一张图看懂autoreleasepool

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