【深入剖析AutoreleasePool】
Objc的AutoreleasePool是一個首尾相連的內存鏈接,每塊大小為1頁(32位機上為4kb)。
上面可以看到,parent指向父Pool,child指向子Pool,因初始化時無child Pool,所以child被置為NULL。next指向當前內存塊中的最大位置,即每個塊內是一個4kb的棧。
通過以下方很容易看出AutoreleasePoolPage如果使用:
當一個AutorreleasePool被釋放時,在該pool之后的pool所涵蓋的對象均會被釋放。
新聞熱點
疑難解答