跟APP一樣,微信小程序也有自己的生命周期蜒滩,了解微信小程序的生命周期對(duì)于小程序開發(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)浇冰,或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShow |
onHide | 當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái)际乘,會(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)入后臺(tái)(按Home鍵/左上角?)
流程1 --> Page.onHide --> App.onHide
image.png
流程3:小程序從后臺(tái)重新打開
流程2 --> App.onShow --> Page.onShow
image.png
流程4:按返回鍵
流程1 --> Page.onUnload(非棧底頁面)
image.png
流程1 --> Page.onHide --> App.onHide(棧底頁面)
image.png
流程5:從微信消息打開小程序(未安裝小程序)(同流程1)
流程6:從微信消息打開小程序(已安裝小程序且在后臺(tái)運(yùn)行)(同流程3)
流程7:從微信消息打開小程序(已安裝小程序且不在后臺(tái)運(yùn)行)(同流程1)
流程8:小程序被銷毀后重新啟動(dòng)(進(jìn)入后臺(tái)一段時(shí)間后被系統(tǒng)銷毀)(同流程1)
最后貼一張官方的Page生命周期圖
mina-lifecycle.png