iphone OS 4.0操作系统中多任务~禁止后台执行的方法
2011-11-16 17:21
375 查看
http://blog.csdn.net/fxj281314/article/details/5783220
最近做的一个针对iPhone 4.0 OS 的App中遇到了一个关于home键退出后台程序的问题。画了些许功夫,最后找到了一个简单到极点的解决方法。分享于此。由于iPhone 4.0 OS中对多任务的支持,使得在程序运行时,按住home键,不能直接结束程序,而是将程序转入后台,等到程序再次启动时,接着上次继续运行,所以对于某些程序我们需要采取措施来保证在按了home键之后程序从内存中清除。以便下次进入时,是重新开始程序,而不是接着运行。下面是对此的一个解决方法,对不需要进行任何数据保存处理的可以直接按照下面的方法进行处理。
解决方法是使用UIApplicationDelegate代理中的- (void)applicationDidEnterBackground:(UIApplication *)application方法。具体只需要在其中执行exit(0)操作就行了。
- (void)applicationDidEnterBackground:(UIApplication *)application {
/*
Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
*/
exit(0);
}
补充:虽然文字写了有些天了,但是还是想在这里做一些补充,最近刚刚发现对于禁止后台运行除了上述方法之外还可以在 XXX-info.plist中(xxx为项目工程名)增加一项Application does not run in background 并将后面的选框勾上。这样就行了。
但是这样做同时也改变了用户的使用习惯,从任务栏进入软件只能从新进入不会从上次的状态进入。 利弊需权衡
最近做的一个针对iPhone 4.0 OS 的App中遇到了一个关于home键退出后台程序的问题。画了些许功夫,最后找到了一个简单到极点的解决方法。分享于此。由于iPhone 4.0 OS中对多任务的支持,使得在程序运行时,按住home键,不能直接结束程序,而是将程序转入后台,等到程序再次启动时,接着上次继续运行,所以对于某些程序我们需要采取措施来保证在按了home键之后程序从内存中清除。以便下次进入时,是重新开始程序,而不是接着运行。下面是对此的一个解决方法,对不需要进行任何数据保存处理的可以直接按照下面的方法进行处理。
解决方法是使用UIApplicationDelegate代理中的- (void)applicationDidEnterBackground:(UIApplication *)application方法。具体只需要在其中执行exit(0)操作就行了。
- (void)applicationDidEnterBackground:(UIApplication *)application {
/*
Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
*/
exit(0);
}
补充:虽然文字写了有些天了,但是还是想在这里做一些补充,最近刚刚发现对于禁止后台运行除了上述方法之外还可以在 XXX-info.plist中(xxx为项目工程名)增加一项Application does not run in background 并将后面的选框勾上。这样就行了。
但是这样做同时也改变了用户的使用习惯,从任务栏进入软件只能从新进入不会从上次的状态进入。 利弊需权衡
相关文章推荐
- iphone OS 4.0操作系统中多任务~禁止后台执行的方法
- linux任务后台执行方法
- 使用Swing Worker线程 --执行后台任务的新方法
- 使用Swing Worker线程 --执行后台任务的新方法
- 使用Swing Worker线程 --执行后台任务的新方法
- quartz禁止一个工作任务还没执行完,下一个工作(同jobkey)就开始执行的方法
- 使用Swing Worker线程 --执行后台任务的新方法
- 使用Swing Worker线程 --执行后台任务的新方法
- 定时任务会重复执行俩次的解决方法
- 后台代码里执行弹出脚本方法!(Response.Write)
- Mysql定时执行任务方法的实现
- php定时执行任务的几个方法
- 背水一战 Windows 10 (118) - 后台任务: 后台下载任务(任务分组,并行或串行执行,组完成后通知)
- Java定时执行任务的三种方法
- android 后台长时间执行周期性定时任务 解决方案收集
- java定时执行任务的三种方法
- spring定时任务执行两次及tomcat部署缓慢问题的解决方法
- 实现服务启动之后,马上执行任务的几种方法
- DEBUG已经执行过的后台JOB的方法
- Android中延时执行某任务的方法;