iphone编程,使用代码结束自己的一些研究。

事情的起因是有童鞋在论坛上发了一个帖子,原帖如下:

“在int retVal = UIApplicationMain(argc, argv, nil, nil);
后面的[pool drain]行打上断点,可是按HOME键退出的时候却没有执行到这里,哪位知道是什么原因?
在applicationWillTerminate中打上断点是可以执行到的”

 

我做了很多次试验,并且也到网上查了一下,发现根本无法做到,当然如果你有什么好的办法做到,请告诉我,先谢谢了。

我试验得出的结论如下:(ios 4环境)

1.使用代码可以结束自己只有一种方式,而且apple不建议这样用,就是调用exit()函数。在2.0以前uiapplication类中有一个方法可以调用,但是现在已经没有了,而且如果你强制使用2.0以前的编译环境,apple会拒绝你发布这个程序到app store.

2.用户按下home键后,程序转入后台运行。

3.连续按两次home键后,在iphone屏幕下面会出现一个程序列表,这个列表,我原先以为是转入后台运行的程序列表,通过试验结果看到,我错了,这个只是最近使用的程序列表,不论这个程序是否在后台运行。如果你按住其中一个程序图标一会儿,到这些图标开始晃动的时候,会在图标的左上角出现一个红色的减号,按这个减号,会把这个程序从最近运行列表中清除出去。如果这个程序还在后台运行,那么会结束这个程序的运行。

4.在info.plist中增加了一个选项。“Application does not run in background”,如果你添加了这一项,并且选中,那么当用户按home键后,程序不会转入后台运行,会直接被kill掉。

5.无论上面何种方式kill掉程序,applicationWillTerminate都会被调用。

 

这就是我试验的结果,希望对大家有用,如果我的结果不对,或者有更好的办法,请一定不吝赐教。多谢!

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值