小程式的生命周期
小程式
小程式有兩個執行緒:界面執行緒和服務執行緒
界面執行緒四種狀態:
1.初始化狀態:初始化完畢之后向服務執行緒發送初始化完畢; 2.首次渲染狀態:接收服務執行緒的初始化資料(data),對小程式頁面開始進行渲染,渲染完畢后,發送信號首次渲染完畢給服務執行緒,并將頁面展示給用戶; 3.持續渲染狀態:等待服務執行緒發送資料this.setdata,接收資料進行持續渲染;
4.結束狀態,
服務執行緒四種狀態:
1.初始化狀態:初始化完成,呼叫onLoad和onShow; 2.等待激活狀態:接收到界面執行緒初始化完成信號后,將初始化資料發送給界面執行緒,等待界面執行緒完成首次渲染,
3.激活狀態:收到界面執行緒首次渲染完成的信號,進入激活狀態,程式正常運行;
4.后臺運行狀態:當用戶關閉微信或從小程式界面退出,小程式進入后臺,
程式生命周期
小程式的生命周期在app.js中進行呼叫,使用App(Object)來進行小程式的注冊并且只能注冊一次,接收object型別的引數,指定小程式的生命周期回呼;
在第一次進入小程式的時候,客戶端初始化小程式的運行環境,初始化完成后,客戶端派發onLaunch事件給邏輯層AppJs的app實體,當用戶關閉微信或從小程式界面退出,小程式進入后臺,觸發onHide,當再次進入微信或者回到小程式,觸發onShow,從后臺回到前臺,當小程式進入后臺時間過長,系統資源占用過高,才會進行銷毀,
Object引數:
onLaunch---------監聽小程式初始化(在小程式初始化完成時觸發,全域觸發一次)
onShow------------監聽小程式顯示(小程式啟動或者從后臺進入前臺時觸發)
onHide-------------監聽小程式的隱藏(小程式從前臺進入后臺時觸發)
onError------------監聽錯誤函式(小程式發生腳本錯誤或者api呼叫錯誤時觸發)
onPageNotFound-----------監聽頁面(小程式要打開的頁面不存在時觸發)
經過demo測驗,小程式的宣告周期的呼叫順序為onLaunch>onShow>onHide
頁面生命周期
頁面的宣告周期函式就是當進入或者切換一個新的頁面時,就會進行一次生命周期函式的呼叫,通過Page(Object)來進行頁面的注冊,接收object型別的引數;
初次加載時,微信客戶端呼叫onLoad方法,onLoad在頁面銷毀前只會呼叫一次,在onLoad回呼時,我們可以拿到當前頁面的呼叫的打開引數,當頁面顯示的時候,onShow方法被呼叫,當頁面完成初次渲染,onReady方法被呼叫,onReady方法在頁面銷毀前也只會呼叫一次,觸發onReady之后,邏輯層與視圖層進行互動,
Object引數:
onLoad--------監聽頁面的加載
onShow-------監聽頁面的顯示(每次打開頁面都會呼叫一次)
onReady-------監聽頁面初次渲染(一個頁面呼叫一次進行渲染)
onHide---------監聽頁面隱藏 頁面從前臺轉到后臺
onUnload-------監聽頁面銷毀
onPullDownRefresh---------監聽下拉重繪
經過demo測驗,小程式頁面的宣告周期的呼叫順序為onLoad>onShow>onReady,
在一個小程式執行程序中,先觸發小程式周期函式,再觸發頁面周期函式,即先呼叫onLaunch,再呼叫onLoad,并且再頁面生命周期中onLoad與onReady都只執行一次,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266296.html
標籤:其他
下一篇:烤面筋的第五場
