IOS UIApplicationDelegate
2013-03-26 09:54
204 查看
UIApplicationDelegate 包含下面几个函数监控应用程序状态的改变:
当一个应用程序首先运行时,调用函数didFinishLaunchingWithOptions,但此时应用程序还处于inactive状态,所以接着会调用applicationDidBecomeActive函数,此时就进入了应用程序的界面了。
接着当按下home键时(此时主界面是应用程序主界面),会调用applicationWillResignActive函数,接着调用applicationDidEnterBackground函数,这时手机回到桌面。
当再按下应用程序图标时,(假设此时应用程序的内存还没有被其他的应用程序挤掉),调用applicationWillEnterForeground函数,接着调用applicationDidBecomeActive函数,此时又会到应用程序主界面。
在应用程序的主界面,我们双击home键,(出现多任务栏),调用applicationWillResignActive函数,点击上面部分又会回到程序中,调用applicationDidBecomeActive函数,如果点击多任务栏的其他应用程序,则会调用applicationDidEnterBackground函数之后,进入其他应用程序的界面。
而对于applicationWillTerminate函数,这里要说明一下:对于我们一般的应用程序,当按下home按钮之后,应用程序会处于一个suspended状态,如果现在去运行其他的程序,当内存不足,或者在多任务栏点击“减号”会完全退出应用程序,但是不管是哪一种,都不会去调用applicationWillTerminate函数(针对IOS4以上),因此我们不能在此函数中保存数据。
那applicationWillTerminate函数在什么时间调用呢?我查了下资料,还在网上找了找,原来这与当应用程序按下home按钮之后,应用程序的状态有关,当状态为suspended时,是永远不会调用此函数的,而当状态为“后台运行”(running
in the background)时,当内存不足或者点击“减号”时,才会调用此函数!
– application:didFinishLaunchingWithOptions:
– applicationDidBecomeActive:
– applicationWillResignActive:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
– applicationWillTerminate:
当一个应用程序首先运行时,调用函数didFinishLaunchingWithOptions,但此时应用程序还处于inactive状态,所以接着会调用applicationDidBecomeActive函数,此时就进入了应用程序的界面了。
接着当按下home键时(此时主界面是应用程序主界面),会调用applicationWillResignActive函数,接着调用applicationDidEnterBackground函数,这时手机回到桌面。
当再按下应用程序图标时,(假设此时应用程序的内存还没有被其他的应用程序挤掉),调用applicationWillEnterForeground函数,接着调用applicationDidBecomeActive函数,此时又会到应用程序主界面。
在应用程序的主界面,我们双击home键,(出现多任务栏),调用applicationWillResignActive函数,点击上面部分又会回到程序中,调用applicationDidBecomeActive函数,如果点击多任务栏的其他应用程序,则会调用applicationDidEnterBackground函数之后,进入其他应用程序的界面。
而对于applicationWillTerminate函数,这里要说明一下:对于我们一般的应用程序,当按下home按钮之后,应用程序会处于一个suspended状态,如果现在去运行其他的程序,当内存不足,或者在多任务栏点击“减号”会完全退出应用程序,但是不管是哪一种,都不会去调用applicationWillTerminate函数(针对IOS4以上),因此我们不能在此函数中保存数据。
那applicationWillTerminate函数在什么时间调用呢?我查了下资料,还在网上找了找,原来这与当应用程序按下home按钮之后,应用程序的状态有关,当状态为suspended时,是永远不会调用此函数的,而当状态为“后台运行”(running
in the background)时,当内存不足或者点击“减号”时,才会调用此函数!
相关文章推荐
- iOS开发之UIApplication和delegate
- 猫猫学IOS(二十二)UI之UIApplicationDelegate和UIWindow
- iOS 的 UIApplicationDelegate 你懂多少
- IOS开发UI之UIApplicationDelegate协议介绍
- 猫猫学IOS(二十二)UI之UIApplicationDelegate和UIWindow
- iOS UIApplicationDelegate
- AJ学IOS(22)UI之UIApplicationDelegate和UIWindow
- UIApplicationDelegate详解 -- iOS应用程序周期
- ios uiapplication 代理appdelegate
- IOS UIApplication 和 delegate 以及程序启动原理
- ios 尽量用 [UIApplication sharedApplication].delegate.window
- IOS-UIApplicationdelegate
- IOS 开发之UIApplicationDelegate详解
- [iOS基础控件 - 6.10.6] UIApplicationDelegate & 程序启动过程
- iOS开发之UIApplication和delegate
- iOS 【应用程序app运行原理-UIApplication-AppDelegate.m-UIApplicationMain】
- IOS-Frameworks-UIKit-UIApplication-UIApplicationDelegate
- Unity3D中继承在ios上的UIApplicationDelegate
- 【深入浅出IOS开发】UIApplication和UIApplicationDelegate详解
- iOS 极光推送集成打印You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fe