对冷启动、暖启动、恢复、暂停,进行基本的概念解析
- 冷启动cold launch
- 触发时机
- 重启之后,再重新点击app icon
- 由于别的更耗性能的app挤占内存,你的app被直接移除内存,再重新点击app icon
- 原本是否在内存中
- 否
- 原本进程状态
- 无你的app的进程
- 时间组成(可详细描述)
- 包括依赖的Frameworks(框架)重新从磁盘中加载的时间
- 包括依赖的daemons(如系统级别的异常崩溃监听与上报守护进程?)重新启动的时间(不太确定,但是这部分也不是我们可以改变的?)
- 触发时机
- 暖启动warm launch
- 触发时机
- 你的app最近被关掉了,再重新点击app icon
- 原本是否在内存中
- 你的app部分存在于内存中(可详细描述)
- 原本进程状态
- 无你的app的进程
- 时间组成(可详细描述)
- 触发时机
- 恢复resume
- 触发时机
- app被暂停了(suspended),再重新点击app icon
- 原本是否在内存中
- 是
- 原本进程状态
- 你的app的进程存在的
- 时间组成(可详细描述?)
- 触发时机
- 暂停suspend
- 时机
- 你的app挂在后台一段时间后,而且你的app没有使用如音频服务、定位服务等可持续保活的功能的话,就会挂起、暂停。
- 时机
参考文献
ios - What's the difference between cold launch, warm launch? - Stack Overflow
Reducing your app’s launch time | Apple Developer Documentation
网友评论