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
- iOS应用程序状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- 状态图
- objc非主流代码技巧
- 谈谈yii2-gii如何自定义模板
- SSH密钥认证原理
- 基于springmvc mybatis junit搭建分工程,分模块的web工程框架(三)
- Delphi COM编程技术六(DCOM技术)
- iOS应用程序状态图
- MFC界面库BCGControlBar新版功能详解四:示例和其他功能
- 我已经写了48年代码了,我感觉我还能写下去
- okhttp是android平台最好的网络库
- cobar实现mysql分片及分片集之内双节点之间的高可用
- window下使用命令行创建symfony项目
- 如何优化C语言代码(程序员必读)
- iOS 原生二维码的扫描详解(代码)
- Leetcode 55. Jump Game