| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
Are destructors always run (or run in the same way if called explicitly by the programmer or by the OS itself)? If so, it would seem like any delay the destructors take to run would happen no matter whether the programmer explicitly clean up the objects or just lets the OS do it anyway. Unless the OS runs the destructors in the background and so doesn't block the user interface, whereas the program would appear to hang while it calls them in the main thread before releasing the UI.
I don't know in detail what is happening "under the covers". I can only
provide this anecdote that describes some observed behaviour:
We had a large, complex (unnecessarily so in both cases, I believe) C++
project, that we built cross-platform (OSX, Linux, win32).
On exit, the original author had written the code such that it
*explicitly* called the destructors for all the widgets he'd created.
When the user clicked the exit button, the app would take 20~30 seconds
to close, and at least one of the CPU's would max out during this time.
The code was modified to *not* explicitly call the destructors.
Thereafter, when the user clicked the exit button, the app would
terminate "straight away", with no CPU maxing out.
-Howard
_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/xcode-users/email@hidden
| References: | |
| >Re: Memory Leak (From: "MacArthur, Ian (SELEX GALILEO, UK)" <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.