ios 程序进入后台并返回 调用的方法

AppDelegate 中有好几个方法,分别是对应程序处于不同状态时进行调用,今天顺便进行了解下。还是使用最经常用的NSLog来进行打印。

[cpp]  view plain copy
  1. - (void)dealloc  
  2. {  
  3.     [window release];  
  4.     [super dealloc];  
  5. }  
  6.   
  7. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  8. {  
  9.     window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];  
  10.     window.rootViewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];  
  11.     [window makeKeyAndVisible];  
  12.     return YES;  
  13. }  
  14.   
  15. - (void)applicationWillResignActive:(UIApplication *)application  
  16. {  
  17.     // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.  
  18.     // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.  
  19.     NSLog(@"applicationWillResignActive");  
  20. }  
  21.   
  22. - (void)applicationDidEnterBackground:(UIApplication *)application  
  23. {  
  24.     // 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.   
  25.     // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.  
  26.     NSLog(@"applicationDidEnterBackground");  
  27. }  
  28.   
  29. - (void)applicationWillEnterForeground:(UIApplication *)application  
  30. {  
  31.     // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.  
  32.     NSLog(@"applicationWillEnterForeground");  
  33. }  
  34.   
  35. - (void)applicationDidBecomeActive:(UIApplication *)application  
  36. {  
  37.     // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.  
  38.     NSLog(@"applicationDidBecomeActive");  
  39. }  
  40.   
  41. - (void)applicationWillTerminate:(UIApplication *)application  
  42. {  
  43.     // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.  
  44.     NSLog(@"applicationWillTerminate");  
  45. }  

进入程序后先打印出 applicationDidBecomeActive 即先调用- (void)applicationDidBecomeActive:(UIApplication *)application

再让程序进入后台,先调用的是

- (void)applicationWillResignActive:(UIApplication *)application

再调用

- (void)applicationDidEnterBackground:(UIApplication *)application

同理,再点击程序图片再次进入程序先调用的是

- (void)applicationWillEnterForeground:(UIApplication *)application

再接着就调用

- (void)applicationDidBecomeActive:(UIApplication *)application

这样就对整个程序的运行状态初步了解了,你的APP在程序进入后台后要做什么返回后还得做什么就在相应的方法中码好你的代码就OK啦。


你可能感兴趣的:(iOS开发)