我刚刚获得 iPhone SDK 4,我试图停止开发我之前正在开发的应用程序。所以我同时实现了-(void)applicationDidEnterBackground:(UIApplication *)application
and - (void)applicationWillTerminate:(UIApplication *)application
当我在模拟器 4.0 中单击主页按钮时,它似乎工作正常。该应用程序调用-(void)applicationDidEnterBackground:(UIApplication *)application
并进入后台状态..
但是,然后我双击主页按钮以公开在后台运行的应用程序,并按住它以显示减号或退出。当我单击减号时,调试器会说
程序收到信号:“SIGKILL”
此外,- (void)applicationWillTerminate:(UIApplication *)application
从未被调用过。我是否缺少一些需要做的事情才能在 OS4 上运行?或者至少有人可以指出我调试 SIGKILL 的方法。谢谢。
-applicationWillTerminate:
仅当您的应用程序处于运行状态时被要求退出时才会调用。如果它已经处于挂起状态(正如您在此处所看到的那样),系统只需向应用程序发送一个终止信号。当用户按下红色减号按钮手动终止应用程序以及系统决定放弃应用程序以释放前台应用程序的内存时,就会发生这种情况。
如果您的应用程序在后台运行(例如,播放音乐或运行某些后台任务)并且用户通过按减号按钮手动终止应用程序,只有这样您才会真正得到一个-applicationWillTerminate:
信息。因此,您必须保存所有状态/等。在您返回之前-applicationDidEnterBackground:
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)