zoukankan      html  css  js  c++  java
  • iOS应用程序状态图

    理解应用的状态对于我们开发iOS大有裨益。

    当前应用所处什么状态,什么促使它在各个状态间进行过渡,你的代码又是如何

    唤醒这些过渡,等等等等。

    先请看下图:

    1. 当应用出于非运行状态时,它处于图中的"Not Running"状态,它不执行任何代码,也不消耗任何内存。

    2. 用户启动应用后,进入"Active"状态。在该状态下,应用在手机屏上显示图形界面,接收事件,你的代码

        负责处理这些事件。

        需要注意的是,当处于"Active"状态时,你的应用是可以被一些系统事件所打断的,比如:

        SMS消息,推送通知,电话或者报警。然后应用便进入下一个状态"Inactive"。

    3. 在"Inactive"状态中,应用处于遮罩(Overlay)背后,继续执行代码,但请注意,

        这时应用不再接收事件

    4. 当用户按下Home键或者切换到当前应用以外的其它应用的时候,当前应用便进入"Background"

        状态。在该状态下,应用既不显示图形界面,也不接收任何事件,但它继续执行代码。

        默认情况下,应用有10秒事件,然后便进入下一个状态"Suspended"状态。

        在这段时间内,你的应用应该尽快保存用户数据,释放共享资源。

    5. 当应用出于"Suspended"状态时,你看不到它的界面,它也不执行任何代码。

        不需要的资源会被销毁。在该状态,应用出于冰冻状态,随时等待用户将它

        唤醒并解冻。

    最后,我们用一个表格把这几个状态进行下归纳,如下:

  • 相关阅读:
    轻松记账工程冲刺第一天
    课堂练习-找水王
    NABCD模型—轻松记账
    四则运算网页版
    二维数组最大子数组(结对开发)
    软件工程结对作业01
    返回一个二维整数数组中最大联通子数组的和
    学习进度条(第六周)
    整数数组中最大子数组的和
    学习进度条(第五周)
  • 原文地址:https://www.cnblogs.com/davidgu/p/5433807.html
Copyright © 2011-2022 走看看