1.什么是自動釋放池
自動釋放池(autorelease pool)是一種內(nèi)存自動回收機制。
當(dāng)你向一個對象發(fā)送一個autorelease消息的時候乡革,cocoa就將對象的一個引用放入到最新的自動釋放池中(當(dāng)前線程棧頂位置),他仍然是一個正當(dāng)?shù)膶ο筇福虼俗詣俞尫懦囟x的作用域內(nèi)的其他對象都可以向他發(fā)送消息沸版。
哨兵模式,只要調(diào)用autorelease方法兴蒸,就會把該對象放到離自己最近的自動釋放池中(棧頂?shù)尼尫懦兀┦恿浮T谝糜嫈?shù)變成0的時候,runloop會把對象銷毀橙凳。
release (不考慮其他情況)蕾殴,引用計數(shù)變成0,runloop會把對象銷毀岛啸。