美文网首页
自动释放池原理

自动释放池原理

作者: f48ac133a97f | 来源:发表于2021-08-30 17:47 被阅读0次

1.什么是自动释放池

自动释放池(autorelease pool)是一种内存自动回收机制。

当你向一个对象发送一个autorelease消息的时候,cocoa就将对象的一个引用放入到最新的自动释放池中(当前线程栈顶位置),他仍然是一个正当的对象,因此自动释放池定义的作用域内的其他对象都可以向他发送消息。

哨兵模式,只要调用autorelease方法,就会把该对象放到离自己最近的自动释放池中(栈顶的释放池)。在引用计数变成0的时候,runloop会把对象销毁。

release (不考虑其他情况),引用计数变成0,runloop会把对象销毁。

相关文章

  • Objective-C内存篇(三) - Autorelease

    什么是自动释放池 自动释放,也是延迟释放。自动释放池的实现原理或者说作用:在自动释放池被销毁或耗尽时,会向池中的所...

  • autoReleasePool 原理

    (一)自动释放池的原理, 自动释放池是由多个autorelease page组成的双向链表,其中主要通过pus...

  • 复习总结3 自动释放池 & 优化

    自动释放池原理 Autorelease pool自动释放池,是OC的一种内存自动回收机制,可以将放入的临时变量统一...

  • iOS底层原理 - 内存管理 之 autorelease

    面试题引发的思考: Q: 自动释放池autoreleasepool底层原理介绍: 自动释放池的主要底层数据结构是:...

  • iOS内存管理4-autorelease自动释放池

    临时变量什么时候释放自动释放池的原理自动释放池能否嵌套使用 使用xcode创建一个project在创建的时候有会生...

  • 自动释放池原理

    1.什么是自动释放池 自动释放池(autorelease pool)是OC的一种内存自动回收机制。当你向一个对象发...

  • 自动释放池原理

    1.什么是自动释放池 自动释放池(autorelease pool)是一种内存自动回收机制。 当你向一个对象发送一...

  • iOS 内存管理--自动释放池底层原理

    前言 在内存管理的学习中自动释放池的原理学习是必须的,作为一个合格的iOS开发者,必须要明白自动释放池的操作原理,...

  • 自动释放池的原理及机制

    一、自动释放池的原理及机制 一、O-C当中的内存释放,并不是像java/.net那样有一个自动的释放池,开发人员不...

  • 自动释放池

    AutoReleasePool的实现原理? AutoReleasePool为什么可以嵌套调用? 自动释放池 是以栈...

网友评论

      本文标题:自动释放池原理

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