美文网首页iOS底层
iOS - autoreleasePool

iOS - autoreleasePool

作者: 码代码的小马 | 来源:发表于2021-12-17 17:29 被阅读0次

    是什么

    根据官方文档NSAutoreleasePool 定义

    NSAutoreleasePool:
    An object that supports Cocoa’s reference-counted memory management system.
    本质是一个1. 对象,可以管理cocoa 对象内存的引用计数

    autorelease pool :
    An autorelease pool stores objects that are sent a release message when the pool itself is drained.
    autorelease pool 里存放一些对象, 当pool释放的时候,会给pool里的这些对象发送release消息

    官方说明:

    • autorelease pool是个对象
    • 在池子释放时,对池中的对象发送release消息(只是引用技术-1,是否释放对象不确定)
    • 系统在主线程的每次runloop开始时创建pool。runloop结束时销毁pool,从而释放
    • 每个线程维护他自己的autoreleasePool对象堆栈,当线程终止时,它会自动清空所有与之关联的autorelease pools

    objc_autoreleasePoolPush源码流程走向

    未命名文件-4.png

    参考

    官方文档NSAutoreleasePool

    相关文章

      网友评论

        本文标题:iOS - autoreleasePool

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