周期指程式從建立、到開始、暫停、喚起、停止、解除安裝的過程。下面從一下三個方面介紹微信小程式的生命周期:
應用生命周期
頁面生命周期
應用生命周期影響頁面生命周期
應用生命周期
image
1、使用者首次打開小程式,觸發 onLaunch(全局隻觸發一次)。
2、小程式初始化完成後,觸發onShow方法,監聽小程式顯示。
3、小程式從前台進入背景,觸發 onHide方法。
4、小程式從背景進入前台顯示,觸發 onShow方法。
5、小程式背景運作一定時間,或系統資源占用過高,會被銷毀。
前台、背景定義: 當使用者點選左上角關閉,或者按了裝置 Home 鍵離開微信,小程式并沒有直接銷毀,而是進入了背景;當再次進入微信或再次打開小程式,又會從背景進入前台。需要注意的是:隻有當小程式進入背景一定時間,或者系統資源占用過高,才會被真正的銷毀。
頁面生命周期
image
1、小程式注冊完成後,加載頁面,觸發onLoad方法,一個頁面隻會調用一次。
2、頁面載入後觸發onShow方法,顯示頁面,每次打開頁面都會調用一次。
3、首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面隻會調用一次。
4、當小程式背景運作或跳轉到其他頁面時,觸發onHide方法。
5、當小程式有背景進入到前台運作或重新進入頁面時,觸發onShow方法。
6、當使用重定向方法wx.redirectTo(OBJECT)或關閉目前頁傳回上一頁wx.navigateBack(),觸發onUnload
wx.navigateTo跳轉狀态下,頁面A和頁面B的生命周期邏輯
1、進入A頁面:A執行onLoad()-->onShow()-->onReady();
2、A頁面navigateTo B頁面:A執行onHide(),B執行onLoad()-->onShow()-->onReady();
3、B頁面傳回A頁面:B執行onUnload(),A執行onShow();
4、退出A頁面:A執行onUnload()。
應用生命周期影響頁面生命周期
image
1、小程式初始化完成後,頁面首次加載觸發onLoad,隻會觸發一次。
2、當小程式進入到背景,先執行頁面onHide方法再執行應用onHide方法。
3、當小程式從背景進入到前台,先執行應用onShow方法再執行頁面onShow方法。