微信小程序入門(五)


24.MINA框架講解

MINA框架架構

25.小程序運行機制

小程序在首次打開的時間會比較長,后續再打開啟動會很快,那么小程序是如何啟動的呢?

運行機制-啟動

  • 冷啟動
  • 熱啟動

熱啟動:假入用戶已經打開某個小程序,然后在一定時間內再次打開小程序,這個時候,就不需要重新啟動了,只需要把后台小程序切換到前台來使用,這個過程就叫做熱啟動。


冷啟動:用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動。那么小程序什么時候被主動銷毀呢?有兩種情況。

  • 小程序進入后台后,客戶端會幫我們在一定時間內維持小程序的一個狀態,
    超過時間后就會被微信主動銷毀,這個時間是五分鍾。

  • 當在短時間內連續收到系統報警的時候,微信就會主動銷毀小程序,這個短時間的間隔是5s。

26.小程序加載機制

運行機制-加載

27.生命周期

小程序的生命周期分為應用生命周期和頁面生命周期

應用生命周期


      可以看到小程序應用生命周期分為四個鈎子:onLaunch,onShow,onHide和onError.第一次進入小程序的時候,客戶端會幫我們初始化好小程序的運行環境,同時會從CDN上下載或者從本地存儲拿到小程序的代碼包,然后把它注入到運行環境里面。初始化完畢后,微信客戶端會給邏輯層App.js的app實例來派發onLaunch事件,那么onLaunch方法就會被調用。進入小程序之后,用戶可以點擊“關閉”或者手機上的“Home”鍵離開小程序,這個時候小程序是沒有被直接銷毀,而是進入到后台的狀態。在邏輯層App構造器所定義的onHide方法就會被調用。當我們再次打開小程序的時候,微信客戶端會把后台Hide的小程序喚醒,這個時候小程序就會進入前台狀態。在App構造器里面的onShow方法就會被調用。當小程序發生腳本錯誤或者API調入失敗的時候會觸發onError方法。這里的globalData表示小程序應用的一個全局數據。


頁面生命周期


當頁面初次加載的時候,微信客戶端會給我們在邏輯層所定義的一個配置實例派發一個onLoad事件,那么配置構造器參數所定義的onLoad方法就會被調用,這個onLoad方法在頁面沒被銷毀之前只會調用一次。在onLoad回調中我們可以拿到當前頁面的一些參數。頁面顯示之后,配置構造器參數所定義的onShow方法就會被調用。頁面初次渲染完成之后,配置構造器參數所定義的onReady方法就會調用,onReady方法觸發之后,邏輯層和視圖層就可以進行交互了。在當前頁的基礎上打開新的一頁,那么在當前頁就會觸發配置構造器參數所定義的onHide方法。如果關閉了當前頁的話,就會觸發onUnload方法。這里的data表示當前頁的數據。


實例圖

小程序由兩大線程組成

  • AppServie Thread
  • View Thread


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM