小程序运行机制
小程序从启动到最终销毁会经历很多个状态,小程序在不同状态下会有不同的表现
小程序启动
小程序启动可以分为两种方式,**冷启动**/**热启动**
- 冷启动:如果用户是首次打开小程序,或者在小程序被销毁之后重新打开小程序
- 热启动:如果用户并不是第一次打开小程序,只是从后台状态切为前台,小程序并没有被销毁情况下重新打开小程序
挂起状态
小程序在进入后台5s后会进入挂起状态,微信会停止小程序的js线程。此时小程序内的内存和状态都还是会被保留,但是开发者代码会停止执行,事件和接口回调会等用户再次进入小程序前台后执行
销毁状态
- 当小程序处于挂起状态30分钟后,小程序会被销毁
- 当小程序占用系统的资源过高时,会被系统销毁或被微信客户端回收
- iOS 下如果在一定时间间隔内连续收到系统内存告警时,会被销毁
- 在微信客户端下拉最近访问的小程序里删除,也会从内存里销毁
- wx.onMemoryWarning监听内存警告事件
小程序页面生命周期
生命周期回调
一次从冷启动到切后台的过程:
onLaunch(app) -> onShow(app)-> onLoad -> onShow -> onReady -> onHide -> onHide(a