Re: [quiz] NSImage's leak

看板MacDev作者 (Andrew)時間16年前 (2007/11/28 17:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串11/11 (看更多)
※ 引述《yllan (藍永倫)》之銘言: : 所以當你產生了一個新的 Pool,他會被推到某個 Stack 上,而收到 : autorelease 的物件就會被這個 Stack 上最新產生的 Pool 所記錄。 : 當 Pool 自己要被 deallocate 時,就把自己移出 Stack,並且把剛剛 : 記錄的物件和次數給 release 回來,大致是這樣。 : 所以這個問題的回答是,看當時哪一個 pool 是最近產生、又沒有 : dealloc'd ,就會被加到那個 pool。 懂了!感謝細心的解釋阿!T_T : : 突然想到,既然你說這個delay release會等到最靠近的autorelease pool : : release時,所以是否可以把autorelease pool當作對autoreleased object : : 強制release的一個機制? : : (當然如果被其他object retain住的不算) : ?看不太懂這段... 大概就是像你為了release在產生NSImage object過程附帶產生的autorelease object 在loop中多寫的autorelease pool一樣,如果不確定在某段code中是否會有 autorelease object出現,在這段code的前後加上autorelease pool 應該會是最好的辦法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.189.30
文章代碼(AID): #17JJaW8b (MacDev)
討論串 (同標題文章)
文章代碼(AID): #17JJaW8b (MacDev)