Created by zhaowei.ding // @丁兆伟Avatar
每一个iOS应用程序都包含一个UIApplication对象,iOS系统通过该UIApplication对象监控应用程序生命周期全过程。每一个iOS应用程序都要为其UIApplication对象指定一个代理对象,并由该代理对象处理UIApplication对象监测到的应用程序生命周期事件
iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于UNIX的商业操作系统。原本这个系统名为iPhoneOS,直到2010年6月7日WWDC大会上宣布改名为iOS。
应用还没有启动,或者应用正在运行但是途中被系统停止
当前应用正在前台运行,但是并不接收事件(当前或许正在执行其他代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(如电话来电、有未读短信等)事件的时候。
当前应用正在前台运行,并且接收事件。这是应用正在前台运行时所处的正常状态。
应用处在后台,并且还在执行代码。大多数将要进入Suspended状态的应用,会先短暂进入此状态。然而,对于请求需要额外执行时间的应用,会在此状态保持较长一段时间。另外,如果一个应用要求启动时直接进入后台运行,这样的应用会直接从Not running状态进入Background状态,中途不会经过Inactive状态。比如没有界面的应用。注此处并不特指没有界面的应用,其实也可以是有界面的应用,只是如果要直接进入Background状态的话,该应用界面不会被显示。
应用处在后台,并且已停止执行代码。系统自动将应用移入此状态,且在此操作之前不会对应用做任何通知。当处在此状态时,应用依然驻留内存但不执行任何程序代码。当系统发生低内存告警时,系统将会将处于Suspended状态的应用清除出内存,以为正在前台运行的应用提供足够的内存。
-(void)applicationWillResignActive:(UIApplication *)application:
当应用程序将要进入非活动状态调用。在此期间,应用程序不接收消息或事件,比如来电
-(void)applicationDidBecomeActive:(UIApplication *)application:
当应用程序将要进入活动状态调用。这个刚好跟上面的方法相反。
-(void)applicationDidEnterBackground:(UIApplication *)application:
当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
-(void)applicationWillEnterForeground:(UIApplication *)application:
当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反
-(void)applicationWillTerminate:
当程序将要退出时被调用,通常用来保存数据和一些退出前的清理工作。
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application:
iOS设备只有有限的内存,如果为应用程序分配了太多内存,操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作,防止程序被终止
-(void)applicationDidFinishLaunching:(UIApplication*)application:
当程序载入后执行
-(BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)URL:
当打开URL时执行
典型的iOS程序包含一个Window(窗口)和几个UIViewController(视图控制器),每个UIViewController可以管理多个UIView(在iPhone里看到的、摸到的都是UIView,可能是UITableView、UIWebView、UIImageView等)。这些UIView之间如何进行层次迭放、显示、隐藏、旋转、移动等都由UIViewController进行管理,而UIViewController之间的切换,通常情况是通过UIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewController来控制的。UIViewController用于管理UIView的生命周期及资源的加载与释放,而UIV-iew与UIWindow共同展示了应用用户界面
-(void)loadView:
用于加载视图资源
-(void)viewDidLoad:
初始化视图
-(void)viewWillAppear:(BOOL)animated:
视图即将出现
-(void)viewDidAppear:(BOOL)animated:
视图出现
-(void)viewWillDisappear:(BOOL)animated:
视图即将消失
-(void)viewDidDisappear:(BOOL)animated:
表示视图已经消失
-(void)viewDidUnload:
用于释放视图资源
.h //头文件,接口定义 .m //实现文件 + //修饰方法、表示类方法 - //修饰方法、表示实例方法 self //this [] //方法调用 @property //声明属性 @protocal //声明协议 #import //引用头文件,类似#include