IOS的AppDelegate方法中的事件觸發調用
參考:http://blog.sina.com.cn/s/blog_a573f7990101bphp.html
//當應用程序將要進入非活動狀態執行,在此期間,應用程序不接受消息或事件,比如來電 - (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"應用程序將要進入非活動狀態,即將進入后台"); } //應用程序已經進入后台運行 - (void)applicationDidEnterBackground:(UIApplication *)application { NSLog(@"如果應用程序支持后台運行,則應用程序已經進入后台運行"); 如果需要退出后台,則在這里加上:exit(0); } //應用程序將要進入活動狀態執行 - (void)applicationWillEnterForeground:(UIApplication *)application { NSLog(@"應用程序將要進入活動狀態,即將進入前台運行"); } //應用程序已經進入活動狀態 - (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"應用程序已進入前台,處於活動狀態"); } //應用程序將要退出,通常用於保存書架喝一些推出前的清理工作, - (void)applicationWillTerminate:(UIApplication *)application { NSLog(@"應用程序將要退出,通常用於保存書架喝一些推出前的清理工作"); } //當設備為應用程序分配了太多的內存,操作系統會終止應用程序的運行,在終止前會執行這個方法 //通常可以在這里進行內存清理工作,防止程序被終止 -(void)applicationDidReceiveMemoryWarning:(UIApplication *)application { NSLog(@"系統內存不足,需要進行清理工作"); } //當系統時間發生改變時執行 -(void)applicationSignificantTimeChange:(UIApplication *)application { NSLog(@"當系統時間發生改變時執行"); } //當程序載入后執行 -(void)applicationDidFinishLaunching:(UIApplication *)application { NSLog(@"當程序載入后執行"); }
按home鍵是處理applicationDidEnterBackground了,程序處理applicationDidEnterBackground之后,系統會讓程序有5秒鍾的時間來保留數據,對於一般的數據存儲,5秒足夠了。
applicationWillTerminate 按home鍵不能被調用
在AppDelegate獲取UIViewController方法:
UIViewController *vc = (UIViewController *)self.window.rootViewController
關閉ios
參考:http://blog.163.com/wzi_xiang/blog/static/65982961201302210854891/
一句代碼
exit(0);