我正在讀的LLVM網站的ARC文檔:http://clang.llvm.org/docs/AutomaticReferenceCounting.html#autoreleasepool@autoreleasepool語義
..in講究@autoreleasepool。
在很多使用NSAutoreleasePool的當前實現中,我看到在循環迭代過程中池週期性耗盡的情況 - 我們如何對@autorelease池做同樣的事情,還是我們在某種程度上完成了這個任務?
其次,文檔聲明,如果引發異常,池不會被耗盡....好的異常是通過名稱例外的,但是如果它們確實發生,您可能希望在不泄漏負載的內存的情況下恢復。文檔沒有指定這些對象何時被釋放。
任何人都得到這些信息?
我認爲你答案的第二部分是不完全正確的。自動釋放池本身在自動釋放池中有效地自動釋放,並在分配時有效。只要異常不會傳播到最外層的autorelease池之外,就不會有自動釋放的對象泄漏。 – JeremyP
@Jer你是對的;謝謝你的提醒! – 2011-10-18 09:30:38
@Bavarious - 謝謝你偉大的回答。這是肯定的,它使用'stringWithFormat'在循環中泄漏內存。 –