下列说法正确吗?
When the app is about to quit, it's not necessary to clean up the memory by calling release on all your retained objects, because the iPhone OS will reclaim the memory it allocated for your app when you launched it. This is faster and safer than rely on the apps to correctly clean up after themselves. You can verify this by putting an NSLog call (or a debugger breakpoint) in the dealloc method of your application delegate and seeing it's never called.
So, cleaning things up when the app is about to quit is useless. Moreover, you have very limited time before the OS wipes your app out, so don't waste it on cleaning things. Focus on saving your game and any other relevant stuff.
最佳答案
是的。引用the documentation :
Important: 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. This has implications for how you implement a dealloc method—see “Resource Management.”
关于iPhone内存管理: No Need to Clean Up and Release Retained Objects on App Quit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571289/