2010-10-31 25 views

Répondre

5

Lorsque le "groupe de libération automatique expire".

Ce que cela signifie généralement, c'est lorsque la pile est déroulée.

Alors pensez-y de cette façon - votre application est axée sur les événements. Vous recevez des événements - et ils sont traités par une série de fonctions. Lorsque chacune des fonctions revient et que l'événement est terminé, autorelease sera appelée. Cela signifie que vous pouvez compter sur un objet pour être encore vivant lorsque vous le relâchez automatiquement, et le renvoyer d'une fonction à son appelant. Ne vous attendez jamais à ce qu'il soit présent lors du traitement d'un événement subséquent, ou lorsqu'il est appelé en dehors de votre cadre de pile existant.

1

From the iOS documentation

Chaque thread dans une application Cocoa maintient sa propre pile d'objets NSAutoreleasePool. Lorsqu'un thread se termine, il libère automatiquement tous les pools autorelease associés à lui-même.