跟APP一樣,微信小程序也有自己的生命周期,了解微信小程序的生命周期對于小程序開發(fā)者來說非常重要,關(guān)系到什么時(shí)候加載數(shù)據(jù)、顯示頁面、緩存和恢復(fù)頁面數(shù)據(jù)。小程序的生命周期包括兩部分,一個(gè)是 小程序的生命周期 ,另一個(gè)是 頁面的生命周期 。
小程序的生命周期App()
| 生命周期函數(shù) | 描述 |
|---|---|
| onLaunch | 當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次) |
| onShow | 當(dāng)小程序啟動(dòng),或從后臺進(jìn)入前臺顯示,會(huì)觸發(fā) onShow |
| onHide | 當(dāng)小程序從前臺進(jìn)入后臺,會(huì)觸發(fā) onHide |
頁面的生命周期Page()
| 生命周期函數(shù) | 描述 |
|---|---|
| onLoad | 監(jiān)聽頁面加載 |
| onShow | 監(jiān)聽頁面初次渲染完成 |
| onReady | 監(jiān)聽頁面顯示 |
| onHide | 監(jiān)聽頁面隱藏 |
| onUnload | 監(jiān)聽頁面卸載 |
一些場景下生命周期的調(diào)用
看官網(wǎng)的說明可能不太好理解,下面通過具體場景來了解生命周期函數(shù)的調(diào)用順序。
調(diào)試環(huán)境:
- 手機(jī):華為榮耀8
- 系統(tǒng):Android 7.0
- 微信版本:6.5.10
- 小程序基礎(chǔ)庫版本:1.4.4
流程1:首次啟動(dòng)小程序
App.onLaunch --> App.onShow --> Page.onLoad --> Page.onShow --> Page.onReady

image.png
流程2:小程序進(jìn)入后臺(按Home鍵/左上角?)
流程1 --> Page.onHide --> App.onHide

image.png
流程3:小程序從后臺重新打開
流程2 --> App.onShow --> Page.onShow

image.png
流程4:按返回鍵
流程1 --> Page.onUnload(非棧底頁面)

image.png
流程1 --> Page.onHide --> App.onHide(棧底頁面)

image.png
流程5:從微信消息打開小程序(未安裝小程序)(同流程1)
流程6:從微信消息打開小程序(已安裝小程序且在后臺運(yùn)行)(同流程3)
流程7:從微信消息打開小程序(已安裝小程序且不在后臺運(yùn)行)(同流程1)
流程8:小程序被銷毀后重新啟動(dòng)(進(jìn)入后臺一段時(shí)間后被系統(tǒng)銷毀)(同流程1)
最后貼一張官方的Page生命周期圖

mina-lifecycle.png