autorelease的对象是在什么时候被release的?

IT互联网 已帮助: 时间:2025-06-14 00:55:39

autorelease的对象是在什么时候被release的?

难度:⭐⭐⭐

题库:IT/互联网,其他

标签:是在,什么时候,对象

参考解答

用户头像

481***136

2025-06-14 00:55:39

autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object(就是autorelease的对象)会被release。

上一篇 Objective-C有多重继承吗?不是的话有什么代替方法?

下一篇 关键字volatile有什么含义?

相似问题