メインメソッドで作成された自動解放プールがあり、自動解放メッセージを受け取るすべてのオブジェクトがこのプールに格納され、プールが空になったときに解放されることはわかっています。なぜオートリリースプールを使用しますか?
しかし、メモリリークやアプリのクラッシュを避けるため、オブジェクトの自動リコリナイズを避けることが常に言われています。
なぜ、どのような条件でオートリリープールを使用する必要がありますか?
アップルのドキュメントでは、スレッドを使用しているときにスレッドを使用する必要があると提案しています。自動解放プールを作成する必要があります。スレッドの最後には自動解放プールを作成する必要がありますオブジェクトを完全なスレッドに入れ、その状態でスレッドの先頭に自動解放プールを作成する必要もあります。
私の混乱を解消してください。 Thanx。
自動解放プールなしでスレッドを作成するとメモリリークが発生しますか? –
はい、スレッド上のオブジェクトを自動解放し、プールがない場合は、リークが発生します。 –
それは論争の的です。 http://stackoverflow.com/questions/12575010/using-arc-is-it-fatal-not-to-have-an-autorelease-pool-for-every-thread –