原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
1. 什么是生命周期呢?
通俗的講,生命周期就是指一個對象的生老病死。 從軟件的角度來看,生命周期指程序從創建、到開始、暫停、喚起、停止、卸載的過程。
下面從一下三個方面介紹微信小程序的生命周期:
- 應用生命周期
- 頁面生命周期
- 應用生命周期影響頁面生命周期
2.應用生命周期

- 用戶首次打開小程序,觸發 onLaunch(全局只觸發一次)。
- 小程序初始化完成后,觸發onShow方法,監聽小程序顯示。
- 小程序從前臺進入后臺,觸發 onHide方法。
- 小程序從后臺進入前臺顯示,觸發 onShow方法。
- 小程序后臺運行一定時間,或系統資源占用過高,會被銷毀。
前臺、后臺定義: 當用戶點擊左上角關閉,或者按了設備 Home 鍵離開微信,小程序并沒有直接銷毀,而是進入了后臺;當再次進入微信或再次打開小程序,又會從后臺進入前臺。
在整理本文資料的時候,有點不解,為什么不把小程序監聽『銷毀』方法開放給開發者,我猜測是因為IOS系統限制『按下Home鍵時,app從活動狀態轉入后臺,會被掛起』;微信也不例外,只要運行一段時間或把微信客戶端進程殺掉,就無法通知小程序應用被銷毀。
3.頁面生命周期

- 小程序注冊完成后,加載頁面,觸發onLoad方法。
- 頁面載入后觸發onShow方法,顯示頁面。
- 首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面只會調用一次。
- 當小程序后臺運行或跳轉到其他頁面時,觸發onHide方法。
- 當小程序有后臺進入到前臺運行或重新進入頁面時,觸發onShow方法。
- 當使用重定向方法wx.redirectTo(OBJECT)或關閉當前頁返回上一頁wx.navigateBack(),觸發onUnload
4.應用生命周期影響頁面生命周期

- 小程序初始化完成后,頁面首次加載觸發onLoad,只會觸發一次。
- 當小程序進入到后臺,先執行頁面onHide方法再執行應用onHide方法。
- 當小程序從后臺進入到前臺,先執行應用onShow方法再執行頁面onShow方法。
下圖是小程序從注冊到頁面加入,前后臺切換流程。

ps:以上是我個人的對小程序生命周期的理解,有表述理解不當的地方,歡迎指正!