• IOS学习笔记(1)应用生命周期


      作为应用程序的委托对象,AppDelegate类在用用生命周期的不同阶段会回调不同的方法。

      下面简要介绍一下iOS应用的5种状态。

      · Not running(非运行状态)。应用没有运行或被系统终止。

      · Inactive(前台非活动状态)。应用正在进入前台状态,但是还不能接受事件处理。

      · Active(前台活动状态)。应用进入前台状态,能接受事件处理。

      · Background(后台状态)。应用进入后台后,执行能够执行的代码。如果有可执行的代码,就会执行代码,如果没有可执行的代码或者将可执行的代码执行完毕,应用会马上进入挂起状态。

      · Suspended(挂起状态)。处于挂起的应用进入一种“冷冻”状态,不能执行代码。如果系统内存不够,应用会被终止。

      在应用状态跃迁的过程中,iOS系统会回调AppDelegate中的一些方法,并发送一些通知。实际上,在应用的生命周期中用到的方法和通知很多,这里选取了几个主要的方法和通知进行详细介绍,具体如下表

    方法 本地通知 说明
    application:didFinishLaunchingWithOption: UIApplicationDidFinishLaunchingNotification 应用启动并进行初始化时会调用该方法并发出通知。这个阶段会实例化根视图控制器
    applicationDidBecomeActive: UIApplicationDidBecomeActiveNotification 应用进入前台并处于活动状态时调用该方法并发出通知。这个阶段可以恢复UI的状态(例如游戏状态等)
    applicationWillResignActive: UIApplicationWillResignActiveNotification 应用从活动状态进入到非活动状态时调用该方法并发出通知。这个阶段可以保存UI的状态(例如游戏状态等)
    applicationDidEnterBackground: UIApplicationDidEnterBackgroundNotification 应用进入后台时调用该方法并发出通知。这个阶段可以保存用户数据,释放一些资源(例如释放数据库资源等)
    applicationWillEnterForeground: UIApplicationWillEnterForegroundNotification 应用进入到前台,但是还没有处于活动状态时调用该方法并发出通知。这个阶段可以恢复用户数据
    applicationWillTerminate: UIApplicationWillTerminateNotification 应用被终止时调用该方法并发出通知,但内存清除时除外。这个阶段释放一些资源,也可以保存用户数据
  • 相关阅读:
    [VC++]利用VS2005进行dump文件调试
    Release和Debug模式下成员变量初始化问题
    JDBC与C++的DB访问性能
    Log4J与LogBack的性能比较
    WinRar命令行参数
    玩弄C++:回调一个类成员函数
    如何将一个模板类A作为模板类B的模板参数
    HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTup
    HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTup
    使用jQuery发送POST,Ajax请求返回JSON格式数据
  • 原文地址:https://www.cnblogs.com/shuguang-poxiap/p/3691671.html
Copyright © 2020-2023  润新知