Re: Delayed termination to allow release
Re: Delayed termination to allow release
- Subject: Re: Delayed termination to allow release
- From: Charles Steinman <email@hidden>
- Date: Mon, 11 Aug 2008 11:50:19 -0700 (PDT)
--- On Mon, 8/11/08, Trygve Inda <email@hidden> wrote:
> My main thread creates a few other objects which have
> NSThreads and/or
> timers. I have found that when I quit the app, and the
> threads are ended,
> something in the OS is retaining my objects for a bit...
> They end up never
> being dealloc'd which messes a few things up as some
> data is written to disk
> at this point.
>From the docs:
"Note that when an application terminates, objects may not be sent a dealloc message since the process’s memory is automatically cleared on exit—it is more efficient simply to allow the operating system to clean up resources than to invoke all the memory management methods."
In other words, you shouldn't assume dealloc will be called and it's generally not a good idea to perform essential cleanup there. The designated place for application cleanup code is applicationWillTerminate:.
Cheers,
Chuck
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden