通俗的講,生命週期就是指一個對象的生老病死。 從軟件的角度來看,生命週期指程序從建立、到開始、暫停、喚起、中止、卸載的過程。下面從一下三個方面介紹微信小程序的生命週期:小程序
應用生命週期微信小程序
頁面生命週期微信
應用生命週期影響頁面生命週期ide
一、用戶首次打開小程序,觸發 onLaunch(全局只觸發一次)。
二、小程序初始化完成後,觸發onShow方法,監聽小程序顯示。
三、小程序從前臺進入後臺,觸發 onHide方法。
四、小程序從後臺進入前臺顯示,觸發 onShow方法。
五、小程序後臺運行必定時間,或系統資源佔用太高,會被銷燬。spa
前臺、後臺定義: 當用戶點擊左上角關閉,或者按了設備 Home 鍵離開微信,小程序並無直接銷燬,而是進入了後臺;當再次進入微信或再次打開小程序,又會從後臺進入前臺。須要注意的是:只有當小程序進入後臺必定時間,或者系統資源佔用太高,纔會被真正的銷燬。對象
一、小程序註冊完成後,加載頁面,觸發onLoad方法,一個頁面只會調用一次。
二、頁面載入後觸發onShow方法,顯示頁面,每次打開頁面都會調用一次。
三、首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面只會調用一次。
四、當小程序後臺運行或跳轉到其餘頁面時,觸發onHide方法。
五、當小程序有後臺進入到前臺運行或從新進入頁面時,觸發onShow方法。
六、當使用重定向方法wx.redirectTo(OBJECT)或關閉當前頁返回上一頁wx.navigateBack(),觸發onUnload生命週期
wx.navigateTo跳轉狀態下,頁面A和頁面B的生命週期邏輯ip
一、進入A頁面:A執行onLoad()-->onShow()-->onReady();
二、A頁面navigateTo B頁面:A執行onHide(),B執行onLoad()-->onShow()-->onReady();
三、B頁面返回A頁面:B執行onUnload(),A執行onShow();
四、退出A頁面:A執行onUnload()。資源
一、小程序初始化完成後,頁面首次加載觸發onLoad,只會觸發一次。
二、當小程序進入到後臺,先執行頁面onHide方法再執行應用onHide方法。
三、當小程序從後臺進入到前臺,先執行應用onShow方法再執行頁面onShow方法。it