iPhone app running Simulator 4.0 received Sigkill

China☆狼群 提交于 2019-12-01 03:39:04

-applicationWillTerminate: is only called if your application is in a running state when it is asked to quit. If it is already in a suspended state (as you have it here), the system simply sends a kill signal to the application. This happens when the user presses the red minus buttons to terminate the app manually as well as when the system decides to jettison the app to free up memory for the foreground application.

If you application is running in the background (playing music or running some background tasks, for instance) and the user manually terminates the application by pressing the minus button, only then will you actually get an -applicationWillTerminate: message. Therefore, you must save all your state/etc. before you return from -applicationDidEnterBackground:.

This is to be expected the multitasking bar "red close button" is the equivalent of force quitting an application on Mac OS X. This is the documented behavior. Apple expects normal users of iOS 4 to simply launch / use / dimiss apps they don't have to think in terms of terminating processes or anything. The system will manage that.

Just make sure to save any important data in application:willResignActive: or applicationWillEnterBackground. Because after that you might get killed when memory pressure forces the system to clean up... Snow Leopard introduced a similar behavior for apps that use the NSSupportsSuddenTermination key in their Info.plist. An app basically tells the system that it periodically saves its data bit by bit, so that when it goes in background there's nothing left to do or very little. Unlike big monolithic apps desktop apps...

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!