zoukankan      html  css  js  c++  java
  • iOS 一个application的生命周期

    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 

     

  • 相关阅读:
    HDU4474 Yet Another Multiple Problem BFS搜索
    HDU4473 Exam 数学分析
    2013ACM多校联合(4)
    POJ1273 网络流...
    HDU4472 Count 递推
    POJ1149 PIGS 网络流
    UVA10881 Piotr's Ants 想法题
    javascript js string.Format()收集
    修改 设置 vs.net 网站 调试 设为 起始页
    【转】HTML5杂谈 概念与现行游戏 割绳子 宝石迷阵
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3173177.html
Copyright © 2011-2022 走看看