iOS应用程序状态图

来源:互联网 发布:矩阵的f范数怎么求 编辑:程序博客网 时间:2024/04/30 08:35

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

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

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

先请看下图:



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

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

    负责处理这些事件。

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

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

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

    这时应用不再接收事件

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

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

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

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

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

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

    唤醒并解冻。

 

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



0 0
原创粉丝点击