1、点击run----启动程序
didFinishLaunchingWithOptions:这时一个application启动时调用的第一个方法,我们把要启动的那个controller的信息都写在这个方法里。
applicationDidBecomeActive:当application变为活动状态时被调用
重启任何处于非活动状态的被暂停的或还没开始的任务。如果这个application之前在后台,那么只是刷新一下你的界面
2、点击home----从前台到后台
applicationWillResignActive:当这个application将要从活动状态,变为非活动状态时调用。
如:接听电话、收到短信或用户退出这个application。
这个方法用来暂停正在运行的任务、disable timers、减慢OpenGL ES的桢率。游戏开发用这个方法暂停游戏。
applicationDidEnterBackground:当application已经进入后台时调用。
这个方法用来释放共享资源,保存用户数据、invalidate timers、保存这个application的当前状态信息以防它突然被关闭
如果你的application支持后台运行,那么不会执行这个方法,而执行applicationWillTerminate(当用户退出的时候)
3、在手机上再点开这个程序----从后台到前台
applicationWillEnterForeground:当application将要进入前台时调用
当application从后台到非活动状态时调用,你可以在这个方法里重写当进入后台时的许多操作??
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.
applicationDidBecomeActive
4、程序彻底退出时
applicationWillTerminate:当application将要关闭时调用
保存需要的数据,保存各种状态,保存配置等
Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
注意:当系统内存不足时,系统会强行关闭那些尚在内存中但处于后台状态的 app,以腾出足够的内存供使用。但是那些被强行关闭的程序不会调用任何UIApplicationDelegate的委托方法,只会得到一个KILL 信号。
当我们长按app icon,强行关闭app,也是同样的处理过程。
5、applicationDidRecieveMemoryWarning
内存不足时,释放对象池里的对象
感谢 oliver@drobnik.com 提供如下详细的图,并以cc许可发布。
参考:http://blog.csdn.net/kesalin/article/details/6691766