# 小程序运行机制
# 小程序启动
小程序会有两种情况,一种是冷启动,一种是热启动。
- 冷启动:用户首次打开或小程序被客户端主动销毁后再次打开的情况,此时小程序需要重新加载启动,即冷启动。
- 热启动:假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台状态的小程序切换到前台,这个过程就是热启动。
# 前台/后台状态
小程序启动后,界面被展示给用户,此时小程序处于前台状态。 当用户点击右上角胶囊按钮关闭小程序,或者按了设备 Home 键离开客户端时,小程序并没有直接销毁,而是进入了后台状态; 当用户再次打开客户端或再次打开小程序,小程序又会从后台进入前台。
# 小程序销毁机制
# 移动端
通常,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被销毁。具体而言包括以下几种情形。
- 当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间(5分钟)后小程序会被销毁。
- 当小程序占用系统资源过高,可能会被系统销毁或被客户端主动回收。
- 在 iOS 上,当客户端收到内存告警时,会主动进行所有后台小程序的销毁。
- 在 Android 上,最多允许有4个小程序同时存在,如果超过4个会销毁最久未被使用的那个小程序。
# PC端
PC 端只要小程序没有关闭,小程序会一直处于运行状态,如果关闭了,会直接销毁。
- Sidebar 模式:在会话列表中切换会话,或切换客户端最左侧的一级导航栏,小程序都会关闭并直接销毁。
- AppCenter 模式:关闭应用tab或者关闭小程序,小程序都会直接销毁
- Window 模式:窗口关闭后,小程序会关闭并直接销毁。