开发
API

小程序运行机制

前台/后台状态

当用户点击右上角胶囊按钮关闭小程序,或者按了设备 Home 键离开时,小程序并没有直接销毁,而是进入了后台状态; 当用户再次进入宿主或再次打开小程序,小程序又会从后台进入前台。 小程序在后台停留超过 5 分钟会被主动销毁。

小程序启动

小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」:

  • 冷启动:用户首次打开或小程序被主动销毁(后台 5 分钟)后再次打开的情况,此时小程序需要重新加载启动,即冷启动。
  • 热启动:非冷启动打开小程序的情况即热启动。

小程序没有重启的概念,所谓的重启即先主动销毁后冷启动打开。

更新

小程序每次冷启动时,都会优先使用本地已经缓存的程序包启动小程序。同时异步检查是否有更新版本。如果发现有新版本,将会异步下载新版本的代码包。因此新的代码包默认是在下一次冷启动时才会应用。如果需要在发布后马上应用最新版本,可以使用 getUpdateManager

小程序销毁时机

通常,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被销毁。具体而言包括以下几种情形:

  • 当小程序进入后台,可以维持一小段时间的运行状态,如果这段时间内都未进入前台,小程序会被销毁。
  • 当小程序占用系统资源过高,可能会被系统销毁或被平台客户端(头条、抖音或其它宿主)主动回收。

在 iOS 上,当客户端在一定时间间隔内连续收到系统内存告警时,会根据一定的策略,主动销毁小程序,并提示用户 「运行内存不足,请重新打开该小程序」。 建议小程序在必要时使用 tt.onMemoryWarning 监听内存告警事件,进行必要的内存清理。

点击纠错
评价此篇文档