据以往其他语言经验,看名字“application”就可以晓得该对象是一个全局对象。
以下内容从网上学习整理得出。
UIApplication为oc开发中应用程序的全局对象,一般使用其代理类UIApplicationDelegate
UIApplication作用
1:程序的起点,负责在程序开始时初始化并显示UIWindow,并加载UIView到UIWindow中。
2: 帮助管理应用程序的生命周期。
3: 接收事件,再转给它的委托“UIApplicationDelegate”来处理,此委托可处理的事件包括:应用程序的生命周期事件(如程序的启动和关闭),系统事件(如来电和记事项警告)。
一般AppDelegate类遵循UIApplicationDelegate协议,实现该协议的方法来处理UIApplication接收的事件
协议中定义的方法:
-(void)applicationWillResignActive(UIApplication *)application
-(void) applicationWillBecomeActive(UIApplication *)application
应用程序即将进入或退出活动状态执行
-(void) applicationDidEnterBackground:(UIApplication *)application
-(void)applicationWillEnterForeground:(UIApplication *)application
应用程序即将推送到后台或重新回到前台调用。
可在函数中设置后台时继续运行等。
-(void)applicationWillTerminate:(UIApplication *)application
程序将要退出时调用,通常用来保存数据和做退出前的清理工作
-(void) applicationDidReceiveMemoryWarning:(UIApplication *)application
内存不足时调用,为防止应用程序被终止,可在该函数中设置内存清理等。
执行顺序:
1程序启动,执行didFinishLaunchingWithOptions方法
2此时程序被调到前台,执行allicationDidBecomeActive方法
3用户按下home程序退到后台时,依次执行
applicationWillResignActive方法
applicationDidEnterBackground方法大约十秒钟时间来保存数据。
4用户在次将应用程序调回前台,依次执行:
applicationWillEnterForeground方法 该方法恢复之前操作
applicationDidBecomeActive