autorelease:延长对象生命周期
把对象放到离自己最近那个自动释放池中
当自动释放池销毁的时候,它会把放在其中所有对象进行一次release的操作
它和对象在哪里创建没有关系
自动释放池的原理:
1、系统中存在一个自动释放池栈, 当遇到 @autoreleasepool { 把这个自动释放池压入栈中
2、但遇到与之对应 } 自动释放池,出栈,它出栈的时候,会对池中所有对象进行一次release操作
3、自动释放池栈中,只有栈顶自动释放池是活动的,其他的都在休眠
4、当你调用autorelease的时候,它会把这个对象放在栈顶的自动释放池中
时间: 2024-10-12 14:05:04