IOS applicationWillResignActive
2014-04-03 15:28
381 查看
一、挂起
当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用 applicationWillResignActive 方法,你可以重写这个方法,做挂起前的工作,比如关闭网络,保存数据。
C代码
1. - (void)applicationWillResignActive:(UIApplication*)application{
2.
3. }
当你的程序被挂起后他不会在后台运行。
二、复原
当程序复原时,另一个名为 applicationDidBecomeActive 委托方法会被调用,在此你可以通过之前挂起前保存的数据来恢复你的应用程序:
C代码
1. - (void)applicationDidBecomeActive:(UIApplication*)application{
2.
3. }
注意:应用程序在启动时,在调用了 applicationDidFinishLaunching 方法之后也会调用 applicationDidBecomeActive 方法,所以你要确保你的代码能够分清复原与启动,避免出现逻辑上的bug。
三、终止
当用户按下按钮,或者关机,程序都会被终止。当一个程序将要正常终止时会调用 applicationWillTerminate方法。但是如果长主按钮强制退出,则不会调用该方法。这个方法该执行剩下的清理工作,比如所有的连接都能正常关闭,并在程序退出前执行任何其他的必要的工作:
C代码
1. - (void)applicationWillTerminate:(UIApplication*)application{
2.
3. }
1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2. {
3. // Override point for customization after application launch.
4. NSLog(@"\n ===> 程序开始 !");
5.
6. return YES;
7. }
8.
9. - (void)applicationWillResignActive:(UIApplication *)application
10. {
11.
12. NSLog(@"\n ===> 程序暂行 !");
13. }
14.
15. - (void)applicationDidEnterBackground:(UIApplication *)application
16. {
17.
18. NSLog(@"\n ===> 程序进入后台 !");
19. }
20.
21. - (void)applicationWillEnterForeground:(UIApplication *)application
22. {
23.
24. NSLog(@"\n ===> 程序进入前台 !");
25. }
26.
27. - (void)applicationDidBecomeActive:(UIApplication *)application
28. {
29. NSLog(@"\n ===> 程序重新激活 !");
30.
31. }
32.
33. - (void)applicationWillTerminate:(UIApplication *)application
34. {
35. NSLog(@"\n ===> 程序意外暂行 !");
36.
37. UIDevice *device = [UIDevice currentDevice];
38.
39. }
首次运行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationDidBecomeActive:(UIApplication *)application
首次关闭(home):
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
再次运行:
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
再次关闭:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用 applicationWillResignActive 方法,你可以重写这个方法,做挂起前的工作,比如关闭网络,保存数据。
C代码
1. - (void)applicationWillResignActive:(UIApplication*)application{
2.
3. }
当你的程序被挂起后他不会在后台运行。
二、复原
当程序复原时,另一个名为 applicationDidBecomeActive 委托方法会被调用,在此你可以通过之前挂起前保存的数据来恢复你的应用程序:
C代码
1. - (void)applicationDidBecomeActive:(UIApplication*)application{
2.
3. }
注意:应用程序在启动时,在调用了 applicationDidFinishLaunching 方法之后也会调用 applicationDidBecomeActive 方法,所以你要确保你的代码能够分清复原与启动,避免出现逻辑上的bug。
三、终止
当用户按下按钮,或者关机,程序都会被终止。当一个程序将要正常终止时会调用 applicationWillTerminate方法。但是如果长主按钮强制退出,则不会调用该方法。这个方法该执行剩下的清理工作,比如所有的连接都能正常关闭,并在程序退出前执行任何其他的必要的工作:
C代码
1. - (void)applicationWillTerminate:(UIApplication*)application{
2.
3. }
1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2. {
3. // Override point for customization after application launch.
4. NSLog(@"\n ===> 程序开始 !");
5.
6. return YES;
7. }
8.
9. - (void)applicationWillResignActive:(UIApplication *)application
10. {
11.
12. NSLog(@"\n ===> 程序暂行 !");
13. }
14.
15. - (void)applicationDidEnterBackground:(UIApplication *)application
16. {
17.
18. NSLog(@"\n ===> 程序进入后台 !");
19. }
20.
21. - (void)applicationWillEnterForeground:(UIApplication *)application
22. {
23.
24. NSLog(@"\n ===> 程序进入前台 !");
25. }
26.
27. - (void)applicationDidBecomeActive:(UIApplication *)application
28. {
29. NSLog(@"\n ===> 程序重新激活 !");
30.
31. }
32.
33. - (void)applicationWillTerminate:(UIApplication *)application
34. {
35. NSLog(@"\n ===> 程序意外暂行 !");
36.
37. UIDevice *device = [UIDevice currentDevice];
38.
39. }
首次运行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationDidBecomeActive:(UIApplication *)application
首次关闭(home):
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
再次运行:
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
再次关闭:
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
相关文章推荐
- ios 通知篇
- Android中的Spinner 下拉列表的用法
- 关于android闹钟,设置定时提醒的一点心得
- android调用.net的webservice的例子获取手机的归属地
- Generic detail view DetailView must be called with either an object pk or a slug.
- android:descendantFocusability用法简析
- 了解WaitForSingleObject中WAIT_ABANDONED 返回值
- Android adt22.6.1->22.6.2更新后报Exception raised during rendering: Empty region!
- [Android学习笔记]jackson库的使用
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- STAF中的STAFObject结构体
- cocos2d-x如何添加box2d物理引擎即常见错误解决
- [Android学习笔记]some tips
- 【cocos2d-x】TexturePacker 使用心得
- iOS App Store 发布遇到的问题
- ios改变导航条title的字体大小和颜色
- AIDL-Android接口描述语言实现跨进程通讯
- iOS 消息提示音
- Android -- service 利用广播调用服务的方法
- Android -- service 利用广播调用服务的方法