2012-02-05 28 views

回答

1

如果您在線程中使用垃圾回收專用您不需要autorelease池。但是,如果您手動管理保留計數(託管內存模型),即使您也將它與垃圾回收一起使用,那麼每個線程DOES都需要它自己的自動釋放池。

自動釋放池是線程特定的,即線程A的池無法從線程B訪問/管理池。通常,每個線程都有多個自動釋放池來減少內存使用量。同樣,嵌套池特定於其線程 - 它們無法管理其他線程的內存。

你應該https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Multithreading/

另外關於iOS的穿線引導閱讀起來,蘋果建議從大中央調度和線程管理併發遷移走。對於任何複雜的事情來說,IME做起來容易一點: https://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/ThreadMigration/ThreadMigration.html#//apple_ref/doc/uid/TP40008091-CH105-SW1

0

我想我不明白你的問題。無論如何,你可以谷歌它做什麼或它需要什麼或讀一本關於ios開發的書;) 當你使用ARC(自動引用計數)時,autoreleasepool處理你所有的內存問題。所以你不需要一個void dealloc方法來完成它,並手動釋放所有的東西。 這主要適用於您的應用中的單獨線程。 autoreleasepool照顧他們所有人。 希望能回答你的問題。簡短,但很簡單。