美文网首页ios面试题iOS面试题+基础知识
不手动指定autoreleasepool的前提下,一个autor

不手动指定autoreleasepool的前提下,一个autor

作者: 充满活力的早晨 | 来源:发表于2018-04-10 10:10 被阅读40次

    分两种情况:手动干预释放时机、系统自动去释放。

    1. 手动干预释放时机—指定autoreleasepool 就是所谓的:当前作用域大括号结束时释放。
    2. 系统自动去释放—不手动指定autoreleasepool

    Autorelease对象出了作用域之后,会被添加到最近一次创建的自动释放池中,并会在当前的 runloop 迭代结束时释放。

    释放的时机总结起来,可以用下图来表示

    image

    从程序启动到加载完成是一个完整的运行循环,然后会停下来,等待用户交互,用户的每一次交互都会启动一次运行循环,来处理用户所有的点击事件、触摸事件。

    我们都知道: 所有 autorelease 的对象,在出了作用域之后,会被自动添加到最近创建的自动释放池中。

    相关文章

      网友评论

        本文标题:不手动指定autoreleasepool的前提下,一个autor

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